PDA

View Full Version : سوال: مقایسه رشته ها در سی شارپ



طبیب دل
سه شنبه 31 فروردین 1389, 14:19 عصر
چطوری میشه دو رشته رودر سی شارپ با هم مقایسه کرد؟
هر چی سرچ میکنم فقط واسه c و c++ پیدا میکنم

s.khoshfekran
سه شنبه 31 فروردین 1389, 14:22 عصر
شما می تونی از string.Compare استفاده کنی

طبیب دل
سه شنبه 31 فروردین 1389, 14:29 عصر
شما می تونی از string.Compare استفاده کنی
آخه من میخوام که اگر رشته اول از رشته دوم کوچکتر یا مساوی بود شرط اجرا بشه با این تابع این رو چطور بگم؟

s.khoshfekran
سه شنبه 31 فروردین 1389, 14:37 عصر
دوست عزیز این متد یک مقدار int رو برمیگردونه که اگه رشته ی اول بزرگتر از رشته دوم بود 1 برمیگردونه اگر مساوی بودن 0 و اگر رشته ی اول کوچکتر بود 1-


if (string.Compare(string1, string2) <= 0)
{
//Do SomeThing
}

amir-yeketaz
سه شنبه 31 فروردین 1389, 14:48 عصر
آخه من میخوام که اگر رشته اول از رشته دوم کوچکتر یا مساوی بود شرط اجرا بشه با این تابع این رو چطور بگم؟

ببنید متد Compare از کلاس string دارای ورژن های متفاوتی(متدهای overload شده) است حدود ده تا ! که ساده ترینش اینه::

string a;
string b;
a = "ali";
b = "Ali";
int c =string.Compare(a, b);
متد Compare مقدار بازگشتی int داره که اگه دو تا رشته با هم برابر باشن مقدار صفر و اگه اولی بزرگتر باشد مقدار یک و اگه دومی بزرگتر باشد مقدار -1 رو میده مثلا در اینجا به متغیر صحیح c مقدار 1 داده میشه چون که a بزرگتر از b هستش
حالا اگه میخوای از ورژن های دیگر متد Compare استفاده کنی باید بری سراغ msdn مایکروسافت که بهترین مرجع برایه این سری کاراست...

موفق باشید

hadiroshan
دوشنبه 10 اردیبهشت 1397, 08:12 صبح
ببنید متد Compare از کلاس string دارای ورژن های متفاوتی(متدهای overload شده) است حدود ده تا ! که ساده ترینش اینه::

string a;
string b;
a = "ali";
b = "Ali";
int c =string.Compare(a, b);
متد Compare مقدار بازگشتی int داره که اگه دو تا رشته با هم برابر باشن مقدار صفر و اگه اولی بزرگتر باشد مقدار یک و اگه دومی بزرگتر باشد مقدار -1 رو میده مثلا در اینجا به متغیر صحیح c مقدار 1 داده میشه چون که a بزرگتر از b هستش
حالا اگه میخوای از ورژن های دیگر متد Compare استفاده کنی باید بری سراغ msdn مایکروسافت که بهترین مرجع برایه این سری کاراست...

موفق باشید
سلام و عرض ادب : متاسفانه در سی شارپ روی مقایسه حروف بزرگ و کوچک بر اساس قوانین کد اسکی اشتباه کار می کنه !!!!!!
string x, y;
x = "ali";y = "Ali";
int a=String.Compare(x, y);
Console.WriteLine(a);
این برنامه باید جواب مثبت 1 بده ولی سی شارپ جواب منفی 1 میده !!!!
چونکه کد اسکی a از کد اسکی A بزرگتره !!!!!
حتما بررسی بشه و در اختیار برنامه نویسان ایرانی قرار داده بشه.
با تشکر : هادی روشن .