با سلام و عرض ادب خدمت خوانندگان وبلاگ. در این پست قصد دارم یکم سی شارپ رو بررسی کنم. سی شارپ، یکی از دلایل محبوب شدنش، اینه که سینتکس نسبتا ساده ای داره، ولی همین رو هم میشه پیچوند 🙂 .
مثلا این سوال رو در نظر بگیرید :
برنامه ای بنویسید که یک رشته کاراکتری از ورودی دریافت کرده و سپس آن را برعکس در خروجی قرار دهد.
اگر فقط بخواهیم از System استفاده کنیم و یک تابع ساده بنویسیم، کد ما میشه این :
using System;
namespace ReverseName
{
class MainClass
{
public static void NameReverse(string name){
for (int i = name.Length; i > 0; i--){
Console.Write(name.Substring(i-1, 1));
}
}
public static void Main (string[] args)
{
//Challenge Accepted!
Console.Write ("Enter a name: ");
string n = Console.ReadLine ();
NameReverse (n);
}
}
}
(اون Challenge Accepted داستانی داره که بعدا تعریف خواهم کرد 😀 ).
خب با یکم بررسی می بینید که این کد، خروجی به صورت رشته ای نداره (دستور Console.Write) و نمیشه ازش جاهایی که لازمه، استفاده کنیم. پس بهتره به جای System از System.Linq استفاده کنیم و کد رو خلاصه کنیم :
using System;
using System.Linq;
namespace ForEach
{
class MainClass
{
public static void Main (string[] args)
{
Console.Write ("Enter your name: ");
string name = Console.ReadLine ();
foreach (char c in name.Reverse()) {
Console.Write (c);
}
}
}
}
و اگر دقت کنید به جای اون for ، از foreach استفاده کردم که بسیار کار رو راحت تر کرده.
امیدوارم هر وقت خواستید کد بزنید، به این شکل و به خلاصه ترین شکل ممکن کدتون رو بنویسید.
موفق باشید 🙂
سلام
کد دوم هم که خروجی رشته ای نداره!!!!!!
اون System.Linq هم اضافیه!!! درسته کد شما کوتاه تر شده اما توضیحات پستتون متاسفانه بی ربطه و معلومه آشنایی چندانی با سی شارپ ندارین.
اما بازم خسته نباشین بهرحال اینکه تجربیاتتون رو با بقیه share میکنین خودش خیلی ارزشمنده
دوست عزیز :
۱. سی شارپ ارزشش رو نداره که باهاش آشنایی پیدا کنم.
۲. بررسی میکنم نوع خروجی دوم رو.
و در آخر تشکر بابت نظرتون 🙂
پایتون:
s = ‘some text…’
print(s[::-1])
فرض کن سر امتحان اینو بنویسی:
echo “Hello” | rev
و بعد تهش بنویسی «سیشارپ کیلو چن؟»
اینطوری که نمیشه.
خوشبختانه استاد گفت امتحان رو از ++C میگیره.
شما اگه سی شارپ بلد نیستی و ارزش نداره یادبگیری خب مطلب در موردش نمی نوشتی خیلی واضح
بعضی وقتا لازمه یه چیزایی بیان بشه 🙂