
نوشته شده توسط
مهرداد صفا
سلام.
با استفاده از متود
Buffer.BlockCopy
می تونید این کار رو بکنید.
البته این روش در مورد آرایه های دندانه ای جواب نمیده.
فرض می کنیم یک لیست با 25 عضو از int32 داریم که قصد داریم در یک آرایه 5 * 5 کپی کنیم:
var myList = Enumerable.Range(0, 25).ToList();
int[,] myArray = new int[5, 5];
Buffer.BlockCopy(myList.ToArray(), 0, myArray, 0, 25 * 4);
اون 4 هم به خاطر این هست که هر int شامل 4 بایت هست.
با تشکر از شما.
در انجمن stackoverflow هم مطرح کردم همین سوال رو که کد زیر رو پیشنهاد دادن:
int[][] A =list.Select(i =>new[]{ i }).ToArray();
(برای کسایی که به این مشکل بر میخورن)
بازم ممنون.