গণনাযোগ্য। আইকুয়্যারেবলের জন্য যথেষ্ট <টি> () সমতুল্য


130

যখন কোনও পদ্ধতি ফিরে আসে IEnumerable<T>এবং আমার কাছে ফিরে আসার মতো কিছু নেই, আমরা ব্যবহার করতে পারি Enumerable.Empty<T>()

কোনও পদ্ধতিতে ফিরে আসার জন্য কি উপরের সমতুল্য? IQueryable<T>

উত্তর:


206

হতে পারে:

Enumerable.Empty<T>().AsQueryable();

2
আমি জানি, বর্তমানে এটিই কেবল সহজ, প্রত্যক্ষ ও নোংরা সমাধান ;-) সমাধান
নুমান

7
দুর্ভাগ্যক্রমে এটি একটি আসল খালি আইকিউয়েরেবল তৈরি করে না, যার অর্থ এটি উদাহরণস্বরূপ কোয়েরিকে Unionএকের পরিবর্তে একাধিক ক্যোয়ারিতে বিভক্ত করে।
নেটমেজ


8

চেষ্টা return new T[0].AsQueryable();


@ নওমান - আপনি আসলে একটি [ফাঁকা] টি অ্যারে তৈরি করেন - টি এর নতুন কোনও বস্তু আসলে তৈরি হয় না।
জাস্ট্রোম


1

আমি আলেজান্দ্রবোগের উত্তরের বিরুদ্ধে পরামর্শ দেব কারণ এটি খালি অ্যারে তৈরি করতে মেমরিটি এখনও ব্যবহার করবে।

Array.Empty<T>().AsQueryable();

অথবা

Enumerable.Empty<T>().AsQueryable();

পছন্দসই অ্যারে.এম্পটি একটি স্ট্যাটিক টাইপযুক্ত অ্যারে বরাদ্দ করবে তাই কেবলমাত্র একটি ফাঁকা টি টি তৈরি করা হবে এবং এটি সমস্ত শূন্য অনুসন্ধানের মধ্যে ভাগ করা আছে।


Array.Empty<T>কেবলমাত্র নেট ফ্রেমওয়ার্ক 4.6 এর পরে উপলব্ধ। পূর্ববর্তী সংস্করণগুলির জন্য, আপনি ব্যবহার করতে পারেনnew object[0].Cast<T>()
TZU
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.