سؤال

أريد قائمة من الأعداد الصحيحة من 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>();
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top