Asp.netmvc2でシーケンス番号を作成したい。
次に、番号は{ 0 to 1000}
から始まる必要があります。私は次のように試しました、
var seq = Enumerable.Range(1, 1000);
ViewData["OrderNo"] = seq;
ビュー内:
<%:Html.Hidden("OrderNo") %>
<%:ViewData["OrderNo"] %>
私の結果は
System.Linq.Enumerable+<RangeIterator>d__b8
しかし、ビューで値を取得するとき、それは機能していません...連番を生成する方法は?
_IEnumerable<int>
_から変数end
までの一連の数値(_0
_)を列挙する場合は、試してください。
_Enumerable.Range(0, ++end);
_
説明では、0から1000までの数字のシーケンスを取得するには、シーケンスを0から開始する必要があります(0から1000までの間に1001個の数字があることに注意してください)。
無制限の線形系列が必要な場合は、次のような関数を記述できます。
_IEnumerable<int> Series(int k = 0, int n = 1, int c = 1)
{
while (true)
{
yield return k;
k = (c * k) + n;
}
}
_
あなたが好きなように使うことができます
_var ZeroTo1000 = Series().Take(1001);
_
繰り返し呼び出して増分番号を生成できる関数が必要な場合は、次のようなものが必要になる可能性があります。
_using System.Threading;
private static int orderNumber = 0;
int Seq()
{
return Interlocked.Increment(ref orderNumber);
}
_
Seq()
を呼び出すと、次の注文番号が返され、カウンターがインクリメントされます。