خرید دوره های برنامه نویسی با کیف پولت

گرفتن ارایه از ورودی در سی‌شارپ,آرایه در سی شارپ چیست؟,دریافت اندازه آرایه از کاربر در سی شارپ

گرفتن ارایه از ورودی در سی‌شارپ

در سی‌شارپ می‌توان با استفاده از حلقه for و ()Console.ReadLine، عناصر آرایه را از ورودی کاربر دریافت و در آرایه ذخیره کرد.

تیم تحریریه
3
0
29 شهریور 1405
لینک کوتاه

گرفتن آرایه از ورودی در زبان #C

یکی از مفاهیم مهم در برنامه‌نویسی، دریافت اطلاعات از کاربر و ذخیره‌سازی آن‌ها برای پردازش‌های بعدی است.
در زبان برنامه‌نویسی #C، یکی از روش‌های متداول برای ذخیره چندین مقدار مشابه، استفاده از آرایه (Array) است.
آرایه مجموعه‌ای از عناصر هم‌نوع است که در خانه‌های مختلف حافظه ذخیره می‌شوند و هر عنصر با استفاده از یک شماره یا اندیس قابل دسترسی است.
در بسیاری از برنامه‌ها لازم است اندازه آرایه یا عناصر آن از کاربر دریافت شود.
به همین دلیل، آشنایی با روش گرفتن آرایه از ورودی اهمیت زیادی دارد.



گرفتن آرایه از ورودی در زبان #C


آرایه در سی شارپ چیست؟

آرایه در #C ساختاری است که به ما اجازه می‌دهد چند مقدار از یک نوع داده را در یک متغیر ذخیره کنیم.
برای مثال، اگر بخواهیم پنج عدد صحیح را نگهداری کنیم، به‌جای تعریف پنج متغیر جداگانه مانند number1، number2 و غیره، می‌توانیم از یک آرایه استفاده کنیم.
برای تعریف یک آرایه از نوع صحیح می‌توان نوشت:
int[] numbers;
در اینجا []int مشخص می‌کند که آرایه‌ای از اعداد صحیح داریم. اما در این مرحله هنوز فضایی برای ذخیره عناصر آرایه ایجاد نشده است. برای ایجاد آرایه‌ای با پنج عنصر می‌توان نوشت:
int[] numbers = new int[5];
اکنون آرایه numbers دارای پنج خانه است و اندیس خانه‌ها از صفر تا چهار خواهد بود.


آیا به دنبال یک فرصت عالی برای یادگیری برنامه
‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

بایادگیری سی‌شارپ، می‌توانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژه‌های جذاب و چالش‌برانگیز شرکت کنید.

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ



دریافت اندازه آرایه از کاربر در سی شارپ

یکی از روش‌های مناسب این است که ابتدا تعداد عناصر آرایه را از کاربر دریافت کنیم.
در #C برای دریافت ورودی متنی معمولاً از ()Console.ReadLine استفاده می‌شود.
مثلاً:
Console.Write("تعداد عناصر آرایه را وارد کنید: ");
int n = int.Parse(Console.ReadLine());
int[] numbers = new int[n];

در این برنامه ابتدا از کاربر خواسته می‌شود تعداد عناصر را وارد کند.
سپس مقدار دریافت‌شده با int.Parse از رشته به عدد صحیح تبدیل می‌شود.
بعد از آن، آرایه‌ای با اندازه n ساخته می‌شود.
اگر کاربر عدد 5 را وارد کند، برنامه آرایه‌ای با پنج خانه ایجاد خواهد کرد.



دریافت اندازه آرایه از کاربر در سی شارپ


دریافت عناصر آرایه از ورودی در سی شارپ

پس از مشخص شدن اندازه آرایه، باید عناصر آن را از کاربر دریافت کنیم.
برای این کار معمولاً از یک حلقه for استفاده می‌شود؛ زیرا تعداد دفعات دریافت اطلاعات مشخص است.
مثال:
Console.Write("تعداد عناصر آرایه را وارد کنید: ");
int n = int.Parse(Console.ReadLine());
int[] numbers = new int[n];
for (int i = 0; i < n; i++)
{
    Console.Write($"عنصر {i + 1} را وارد کنید: ");
    numbers[i] = int.Parse(Console.ReadLine());
}

در این کد، حلقه از صفر شروع می‌شود و تا n - 1 ادامه پیدا می‌کند.
متغیر i اندیس فعلی آرایه است.
چون اندیس آرایه از صفر شروع می‌شود، برای نمایش شماره عنصر به کاربر از i + 1 استفاده شده است.
برای مثال اگر تعداد عناصر برابر با 3 باشد، کاربر می‌تواند مقادیر 10، 20 و 30 را وارد کند.
این مقادیر به ترتیب در numbers[0]، numbers[1] و numbers[2] قرار می‌گیرند.

نمایش عناصر آرایه در سی شارپ

پس از دریافت اطلاعات، می‌توان عناصر آرایه را با استفاده از یک حلقه نمایش داد:
for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i]);
}

ویژگی Length تعداد عناصر آرایه را مشخص می‌کند.
استفاده از Length باعث می‌شود نیازی نباشد تعداد عناصر را دوباره به‌صورت دستی وارد کنیم.
یک برنامه کامل می‌تواند به شکل زیر باشد:
using System;
class Program
{
    static void Main()
    {
        Console.Write("تعداد عناصر آرایه را وارد کنید: ");
        int n = int.Parse(Console.ReadLine());
        int[] numbers = new int[n];
        for (int i = 0; i < n; i++)
        {
            Console.Write($"عدد {i + 1} را وارد کنید: ");
            numbers[i] = int.Parse(Console.ReadLine());
        }
        Console.WriteLine("عناصر آرایه:");
        for (int i = 0; i < numbers.Length; i++)
        {
            Console.WriteLine(numbers[i]);
        }
    }
}

دریافت چند عدد در یک خط در سی شارپ

گاهی لازم نیست کاربر هر عدد را در یک خط جداگانه وارد کند.
می‌توان چند عدد را در یک خط دریافت کرد و آن‌ها را با فاصله از یکدیگر جدا کرد.
برای مثال کاربر می‌تواند بنویسد:
10 20 30 40 50

برای تبدیل این ورودی به آرایه می‌توان از Split استفاده کرد:
string input = Console.ReadLine();
int[] numbers = input
    .Split(' ', StringSplitOptions.RemoveEmptyEntries)
    .Select(int.Parse)
    .ToArray();

در این روش ابتدا ()Console.ReadLine کل خط را دریافت می‌کند.
سپس Split متن را بر اساس فاصله جدا می‌کند.
بعد با Select(int.Parse) هر قسمت به عدد صحیح تبدیل شده و در نهایت با ()ToArray یک آرایه ساخته می‌شود.
برای استفاده از Select باید فضای نام مربوط به LINQ را نیز اضافه کنیم:
using System.Linq;

بنابراین برنامه کامل‌تر به صورت زیر خواهد بود:
using System;
using System.Linq;
class Program
{
    static void Main()
    {
        Console.WriteLine("اعداد را با فاصله وارد کنید:");
        int[] numbers = Console.ReadLine()
            .Split(' ', StringSplitOptions.RemoveEmptyEntries)
            .Select(int.Parse)
            .ToArray();
        Console.WriteLine("آرایه:");
        foreach (int number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

دریافت چند عدد در یک خط در سی شارپ


استفاده از حلقه foreach

برای پیمایش آرایه می‌توان علاوه بر for از foreach نیز استفاده کرد.
حلقه foreach زمانی مفید است که بخواهیم تمام عناصر آرایه را یکی‌یکی بخوانیم و نیازی به شماره اندیس نداشته باشیم.
مثلاً:
foreach (int number in numbers)
{
    Console.WriteLine(number);
}

در این روش، متغیر number در هر مرحله مقدار یکی از عناصر آرایه را دریافت می‌کند.

نکته مهم درباره ورودی کاربر در سی شارپ

یکی از مشکلات رایج هنگام دریافت آرایه از ورودی این است که کاربر ممکن است مقدار نامعتبر وارد کند.
برای مثال، اگر برنامه انتظار عدد داشته باشد ولی کاربر عبارت hello را وارد کند، استفاده مستقیم از int.Parse باعث ایجاد خطا می‌شود.
برای جلوگیری از این مشکل می‌توان از int.TryParse استفاده کرد:


int number;
if (int.TryParse(Console.ReadLine(), out number))
{
    Console.WriteLine("عدد صحیح وارد شده است.");
}
else
{
    Console.WriteLine("ورودی نامعتبر است.");
}


روش TryParse زمانی مناسب است که بخواهیم برنامه در برابر ورودی اشتباه مقاوم‌تر باشد.

جمع‌بندی

گرفتن آرایه از ورودی یکی از تمرین‌های مهم و کاربردی در یادگیری #C است.
برای انجام این کار معمولاً ابتدا تعداد عناصر آرایه از کاربر دریافت می‌شود، سپس آرایه با همان اندازه ایجاد شده و با استفاده از یک حلقه for، عناصر آن یکی‌یکی دریافت می‌شوند.
روش دیگری نیز وجود دارد که در آن کاربر تمام عناصر را در یک خط و با فاصله وارد می‌کند و برنامه با استفاده از Split و LINQ آن‌ها را به آرایه تبدیل می‌کند.
درک صحیح آرایه‌ها و روش دریافت آن‌ها از ورودی، پایه‌ای برای یادگیری مفاهیم پیشرفته‌تر مانند لیست‌ها (List)، آرایه‌های دوبعدی، مرتب‌سازی، جست‌وجو و پردازش داده‌ها است.
بنابراین یادگیری این موضوع نه‌تنها برای حل تمرین‌های ساده، بلکه برای نوشتن برنامه‌های کاربردی‌تر در آینده نیز اهمیت دارد.
به‌طور خلاصه، اگر بخواهیم هر عنصر را جداگانه دریافت کنیم، ترکیب ()Console.ReadLine()، int.Parseو حلقه for یکی از ساده‌ترین روش‌هاست.
اگر بخواهیم چند مقدار را در یک خط دریافت کنیم، می‌توانیم از Split و در صورت نیاز LINQ استفاده کنیم.
همچنین برای برنامه‌های واقعی بهتر است ورودی کاربر اعتبارسنجی شود تا ورود داده‌های اشتباه باعث توقف برنامه نشود.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “گرفتن ارایه از ورودی در سی‌شارپ” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو