আমার এই লুপটি রয়েছে:
for (int i = 1; i < 10; i++)
তবে পরিবর্তে আমি কেবল 1,2,4,5 এবং 7 সংখ্যার জন্য চাই এবং আমি এটি হার্ডকোড করব।
অ্যারের মতো কিছু দিয়ে আমি এটি করার উপায় আছে কি?
আমার এই লুপটি রয়েছে:
for (int i = 1; i < 10; i++)
তবে পরিবর্তে আমি কেবল 1,2,4,5 এবং 7 সংখ্যার জন্য চাই এবং আমি এটি হার্ডকোড করব।
অ্যারের মতো কিছু দিয়ে আমি এটি করার উপায় আছে কি?
উত্তর:
আপনি নিজের পছন্দ মতো নম্বর দেওয়ার জন্য একটি অ্যারে ব্যবহার করতে পারেন
int[] loop = new int[] {1,2,4,5,7};
foreach(int i in loop)
Console.WriteLine(i);
অথবা এটি ইনলাইন করুন যা মূল্য হিসাবে যখন আমার মতে তালিকার তালিকা বৃদ্ধি পায় তখন পরিষ্কার নয়
foreach(int i in new int[] {1,2,4,5,7})
Console.WriteLine(i);
intঘোষণাটি সরাতে পারেন , যেহেতু সংকলক বিষয়বস্তু থেকে এটি নির্ধারণ করবে।
foreach (int i in new int[] { 1, 2, 4, 5, 7 })
{
}
মূলত এখানে উত্তরগুলি সঠিক, কেবলমাত্র আপনি লুপের forপরিবর্তে স্পষ্টভাবে জিজ্ঞাসা করেছিলেন foreach:
int[] loop = new int[] { 1, 2, 4, 5, 7 };
for (int i = 0; i< loop.Length; i++)
{
Console.WriteLine(loop[i]);
}
আপনি যদি লুপের জন্য বিশেষত চান তবে এটি দিয়ে যান:
var list = new List<int>() { 1, 2, 4, 5, 7 };
for (int i = 0; i < list.Count; i++) // Loop through List with for
{
Console.WriteLine(list[i]);
}
স্পষ্টতই সাধারণ ক্ষেত্রে সঠিক উত্তরটি হ'ল foreachঅন্য উত্তরগুলিতে যেমন দেখানো হয় তেমনি কেবলমাত্র সম্পূর্ণতার জন্য:
শর্তসাপেক্ষে আপনি কোনও অভিব্যক্তির মধ্যে যে কোনও বিবৃতি ব্যবহার করতে পারেন for। এটি মনে রেখে, একটি প্রয়োজনীয় শর্তের জন্য শর্তসাপেক্ষ বৃদ্ধি বা এমনকি একটি বিস্তৃত শর্তসাপেক্ষ (রাষ্ট্রীয় মেশিন?) তৈরি করা সহজ:
for (int i = 1; i <= 7; i += (i == 5 || i == 2) ? 2 : 1)
{
Console.Write(i);
}
// Output: 12457
for (int i = 1; i > 0; i = i switch {1=>2, 2=>4, 4=>5, 5=>7, 7=>-1})
{
Console.Write(i);
}
// Output: 12457
বা এমনকি স্ব-সূচক দেখার মতো সত্যই বোকার মতো কিছু:
for (int i = 1; i > 0; i = new []{0,2,4,0,5,7,0,-1}[i])
{
Console.Write(i);
}
// Output: 12457