লুপের জন্য কোড কোড করার কোনও উপায় আছে যাতে এটি একটি ক্রমের মাধ্যমে বৃদ্ধি না পায়?


10

আমার এই লুপটি রয়েছে:

  for (int i = 1; i < 10; i++)

তবে পরিবর্তে আমি কেবল 1,2,4,5 এবং 7 সংখ্যার জন্য চাই এবং আমি এটি হার্ডকোড করব।

অ্যারের মতো কিছু দিয়ে আমি এটি করার উপায় আছে কি?


1
আপনার প্রয়োজনীয় সংখ্যার একটি অ্যারে তৈরি করুন এবং
— পূর্বাভাসটি

2
আরও বিশদ দিতে পারে যাতে আমরা প্রাসঙ্গিক সমাধান সরবরাহ করতে সহায়তা করতে পারি? আপনি কতবার নম্বর বাদ দেওয়ার পরিকল্পনা করেন? আপনি কত নম্বর বাদ দেওয়ার আশা করছেন? আপনি কীভাবে জানবেন কোন সংখ্যাটি এড়িয়ে যাবেন? আপনি কেন প্রথম স্থানে নম্বর বাদ দিচ্ছেন? আপনি কী এবং কীভাবে এটি হার্ডকড করছেন?
— কোরেন্টিন পেন

ডুপ্লিকেট
— মং ঝু

উত্তর:


13

আপনি নিজের পছন্দ মতো নম্বর দেওয়ার জন্য একটি অ্যারে ব্যবহার করতে পারেন

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);

1
দ্বিতীয়টি আমার কাছে পরিষ্কার - লুপ চলাকালীন অ্যারেটি কেবল সুযোগে থাকে। এছাড়াও, এটিকে সত্যই "পরিষ্কার" করতে, আপনি intঘোষণাটি সরাতে পারেন , যেহেতু সংকলক বিষয়বস্তু থেকে এটি নির্ধারণ করবে।
— রুফাস এল


4

মূলত এখানে উত্তরগুলি সঠিক, কেবলমাত্র আপনি লুপের forপরিবর্তে স্পষ্টভাবে জিজ্ঞাসা করেছিলেন foreach:

int[] loop = new int[] { 1, 2, 4, 5, 7 };
for (int i = 0; i< loop.Length; i++)
{
    Console.WriteLine(loop[i]);
}

https://dotnetfiddle.net/c5yjPe


0

আপনি যদি লুপের জন্য বিশেষত চান তবে এটি দিয়ে যান:

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]);
        }

0

স্পষ্টতই সাধারণ ক্ষেত্রে সঠিক উত্তরটি হ'ল 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.