سؤال

ما هو الفرق بين AddRange و Concat وظائف على لائحة عامة?هو الموصى به أكثر من الآخر ؟

هل كانت مفيدة؟

المحلول

لديهم مختلف تماما دلالات.

AddRange بتعديل القائمة عن طريق إضافة عناصر أخرى إلى ذلك.

Concat يعود تسلسل جديد يحتوي على قائمة البنود الأخرى دون أي تعديل في القائمة.

أيهما تختار واحد له دلالات تريد.

نصائح أخرى

الفرق الكبير هو أن AddRange تحور تلك القائمة التي ويسمى في حين Concat بإنشاء قائمة جديدة.وبالتالي فإنها لها استخدامات مختلفة.

أيضا Concat هو امتداد الأسلوب الذي ينطبق على أي IEnumerable بإرجاع IEnumerable تحتاج .ToList() في القائمة الجديدة.

إذا كنت ترغب في تمديد المحتوى من القائمة الموجودة استخدام AddRange.

إذا كنت تقوم بإنشاء قائمة جديدة من اثنين من IEnumerable مصادر ثم استخدام Concat مع .ToList.هذا وقد جودة أنه لا يتحور إما من المصادر.

إذا كنت من أي وقت مضى بحاجة إلى تعداد محتويات القوائم اثنين (أو أي الأخرى IEnumerable) ثم ببساطة استخدام Concat في كل مرة, هذا له ميزة ليست في الواقع تخصيص الذاكرة الجديدة لعقد القائمة الموحدة.

لقد وجدت هذه المادة مثيرة للاهتمام يتحدث عن الفرق بين هذه 2 هياكل ومقارنة أدائها...

الفكرة الرئيسية هي أن AddRange هو وسيلة أسرع بكثير عندما حول حجم كبير مجموعات.

هنا الرابط

ويساعد هذا الأمل ،

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top