এনুমरेटरগুলি কীভাবে কাজ করে এবং লিনকিউ নিয়ে আমার কিছু সন্দেহ আছে। এই দুটি সহজ নির্বাচন বিবেচনা করুন:
List<Animal> sel = (from animal in Animals
join race in Species
on animal.SpeciesKey equals race.SpeciesKey
select animal).Distinct().ToList();
অথবা
IEnumerable<Animal> sel = (from animal in Animals
join race in Species
on animal.SpeciesKey equals race.SpeciesKey
select animal).Distinct();
আমি আমার মূল অবজেক্টের নাম পরিবর্তন করেছি যাতে এটি আরও সাধারণ উদাহরণের মতো দেখায় like ক্যোয়ারী নিজেই তেমন গুরুত্বপূর্ণ নয়। আমি যা জানতে চাই তা হ'ল:
foreach (Animal animal in sel) { /*do stuff*/ }
আমি লক্ষ্য করেছি যে আমি যদি
IEnumerable
"সেল" ডিবাগ করি এবং পরিদর্শন করি, যা সেই ক্ষেত্রে আইনিউবারেবল হয়, তবে এর কিছু আকর্ষণীয় সদস্য রয়েছে: "অন্তর্", "বহিরাগত", "অভ্যন্তরীণকেশিলেক্টর" এবং "আওয়ারকিকিলেক্টর", এই শেষ 2 প্রদর্শিত হবে প্রতিনিধি হতে। "অভ্যন্তরীণ" সদস্যটির এতে "প্রাণী" উদাহরণ নেই, বরং "স্পেসি" উদাহরণ রয়েছে, যা আমার পক্ষে খুব অদ্ভুত ছিল। "বহিরাগত" সদস্যটিতে "প্রাণী" উদাহরণ রয়েছে। আমি অনুমান করি যে দুটি প্রতিনিধি নির্ধারণ করে কোনটি ভিতরে যায় এবং এর মধ্যে কী ঘটে?আমি লক্ষ্য করেছি যে আমি যদি "ডিসট্রিন্ট" ব্যবহার করি তবে "অভ্যন্তরীণ" টিতে 6 টি আইটেম রয়েছে (এটি কেবল 2 টি পৃথক হিসাবে ভুল) তবে "বাইরের "টিতে সঠিক মান থাকে। আবার, সম্ভবত নির্ধারিত পদ্ধতিগুলি এটি নির্ধারণ করে তবে আমি আইনামেবল সম্পর্কে আমার চেয়ে কিছুটা বেশি।
সবচেয়ে বড় কথা, দুটি পারফরম্যান্সের মধ্যে কোনটি সেরা পারফরম্যান্স অনুযায়ী?
মাধ্যমে মন্দ তালিকা রূপান্তর .ToList()
?
নাকি সরাসরি এনুমুলেটর ব্যবহার করছেন?
যদি আপনি পারেন তবে দয়া করে কিছুটা ব্যাখ্যা করুন বা এমন কিছু লিঙ্ক নিক্ষেপ করুন যা এই পরিমাণে ব্যবহারের ব্যাখ্যা দেয় explain