আমি সাধারণত অ্যারে সিনট্যাক্স ব্যবহার করে একটি মান থেকে একটি ক্রম তৈরি করি:
IEnumerable<string> sequence = new string[] { "abc" };
অথবা একটি নতুন তালিকা ব্যবহার করে। কারও কাছে একই জিনিসটি করার মতো আরও স্পষ্টভাবে উপায় আছে কিনা তা আমি শুনতে চাই।
আমি সাধারণত অ্যারে সিনট্যাক্স ব্যবহার করে একটি মান থেকে একটি ক্রম তৈরি করি:
IEnumerable<string> sequence = new string[] { "abc" };
অথবা একটি নতুন তালিকা ব্যবহার করে। কারও কাছে একই জিনিসটি করার মতো আরও স্পষ্টভাবে উপায় আছে কিনা তা আমি শুনতে চাই।
Enumerable.From<T>(params T[] items)।
উত্তর:
আপনার উদাহরণটি খালি ক্রম নয়, এটি একটি উপাদান সহ একটি ক্রম। আপনি করতে পারেন তারের খালি ক্রম তৈরি করতে
var sequence = Enumerable.Empty<string>();
এডিটি ওপি স্পষ্ট করে জানিয়েছে যে তারা একটি একক মান তৈরি করতে চাইছে । এই ক্ষেত্রে
var sequence = Enumerable.Repeat("abc",1);
আপনার পরামর্শ মত আমি পছন্দ করি তবে এ্যারে টাইপ বাদ দিয়ে:
var sequence = new[] { "abc" };
Task.FromResultঅর্জন করতে ব্যবহার করতে পারেন ।
বা আরও ছোট,
string[] single = { "abc" };
আমি একটি এক্সটেনশন পদ্ধতি তৈরি করব:
public static T[] Yield<T>(this T item)
{
T[] single = { item };
return single;
}
বা আরও ভাল এবং খাটো, ঠিক
public static IEnumerable<T> Yield<T>(this T item)
{
yield return item;
}
সম্ভবত Enumerable.Repeatএটি হুডের নীচে ঠিক করছে।
Yieldভাল। আমিও বানিয়েছি IEnumerable<T> Yield<T>(this T source, params T[] others)।
অথবা কেবল একটি পদ্ধতি তৈরি করুন
public static IEnumerable<T> CreateEnumerable<T>(params T[] items)
{
if(items == null)
yield break;
foreach (T mitem in items)
yield return mitem;
}
বা
public static IEnumerable<T> CreateEnumerable<T>(params T[] items)
{
return items ?? Enumerable.Empty<T>();
}
ব্যবহার:
IEnumerable<string> items = CreateEnumerable("single");