ملء قائمة من الأعداد الصحيحة في .صافي
سؤال
أريد قائمة من الأعداد الصحيحة من 1 إلى x حيث x هو تعيين من قبل المستخدم.لا يمكن أن نبني عليه مع حلقة على سبيل المثال بافتراض أن x هو عدد صحيح مجموعة سابقا:
List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
iList.Add(i);
}
هذا يبدو غبيا, بالتأكيد هناك طريقة أكثر أناقة للقيام بذلك ، PHP مجموعة الأسلوب
المحلول
إذا كنت تستخدم .Net framework 3.5 Enumerable.مجموعة هو ما تحتاجه.
يولد سلسلة من جزءا لا يتجزأ من أرقام في نطاق معين.
نصائح أخرى
LINQ إلى الإنقاذ:
// Adding value to existing list
var list = new List<int>();
list.AddRange(Enumerable.Range(1, x));
// Creating new list
var list = Enumerable.Range(1, x).ToList();
انظر الجيل المشغلين على LINQ 101
أنا واحد من العديد من الذين قد كتبت عن روبي سقو إلى طريقة التمديد التي يمكن أن تكتب إذا كنت تستخدم C#3.0:
public static class IntegerExtensions
{
public static IEnumerable<int> To(this int first, int last)
{
for (int i = first; i <= last; i++)
{
yield return i;
}
}
}
ثم يمكنك إنشاء القائمة الخاصة بك من الاعداد الصحيحه مثل هذا
List<int> = first.To(last).ToList();
أو
List<int> = 1.To(x).ToList();
هنا هو القصير أسلوب إرجاع قائمة من الأعداد الصحيحة.
public static List<int> MakeSequence(int startingValue, int sequenceLength)
{
return Enumerable.Range(startingValue, sequenceLength).ToList<int>();
}
لا تنتمي إلى StackOverflow