PDA

View Full Version : سوال: حساس نبودن به حروف کوچک و بزرگ



mehrdad1991h
یک شنبه 15 بهمن 1391, 11:34 صبح
من در برنامه ای که دارم میخوام به یه تکست باکس لینک عکس بدم
حالا این لینک چک میشه اگر پسوندش ساپورت میشد لینک اضافه میشه در غیر اینصورت هم اضافه نمیشه
الان این پسوند ها را در یه تکست باکس معرفیشون کردم و از هم جداشون کردم

حالا مشکل اینجاس که کاربر هر پسوندی بزنه من گفتم و به حروف کوچیک تبدیلش میکنم

الان من چجوری حساس بودن به حروف کوچیک و بزرگ را وقتی که چک میشن بردارم که مثلا اگر لینک شامل JPG یا jpg یا هر کودوم بود لینک قبول بشه الان لینک هایی که فقط شامل jpg هستن قبول میشن و لینک های شامب JPG قبول نمیشن
اینم کدی که من دارم :

a[j در کد زیر همون فرمت های قابل قبول هستش که در تکست باکس وارد شده اند


if (input.IndexOf(a[j]) != -1)
{

if (txtScreenShot.Text != "")
{
this.txtScreenShot.Text = input;

الان راهی هست من بتونم حساس بودن به حروف کوچک و بزرگ را از رو این کد بردارم که در ه صورت فقط کلمه اگه همون کلمه بود قبولش کنه ؟

سپاس

samadblaj
یک شنبه 15 بهمن 1391, 12:07 عصر
سلام ...

string STR = "SAmadBlaj";
MessageBox.Show(STR.ToLower());

mehrdad1991h
یک شنبه 15 بهمن 1391, 12:15 عصر
سلام ...

string STR = "SAmadBlaj";
MessageBox.Show(STR.ToLower());

ببخشید اینجوری که شما فرمودید که فقط میاد حروف را به حروف کوچیک تبدیل میکنه خوب اگر من بیام لینک عکس را حروفش را به حروف کوچیک تبدیل کنم که لینک خراب میشه و لینک درستی نیست دیگه.....اینجور فکر نمیکنید ؟
البته میشه یه استرینگ تعریف کرد لینک اصلی را داد بهش و بعد حروف لینکی که داریم را کوچیک کنیم اگر پسوند موجود بود لینک اصلی را از استرینگ برگردونیم ، ولی یکم غیر اصولیه (اگه روشی پیدا نشه اخرشم باید همین کار را بکنم) ولی روش اصولی تری نیست ؟

hamid_hr
یک شنبه 15 بهمن 1391, 12:25 عصر
خب بيا لينك عكساتم تو كد به حروف كوچيك تبديل كن بعد مقايسه كن

the king
یک شنبه 15 بهمن 1391, 15:22 عصر
من در برنامه ای که دارم میخوام به یه تکست باکس لینک عکس بدم
حالا این لینک چک میشه اگر پسوندش ساپورت میشد لینک اضافه میشه در غیر اینصورت هم اضافه نمیشه
الان این پسوند ها را در یه تکست باکس معرفیشون کردم و از هم جداشون کردم

حالا مشکل اینجاس که کاربر هر پسوندی بزنه من گفتم و به حروف کوچیک تبدیلش میکنم

الان من چجوری حساس بودن به حروف کوچیک و بزرگ را وقتی که چک میشن بردارم که مثلا اگر لینک شامل JPG یا jpg یا هر کودوم بود لینک قبول بشه الان لینک هایی که فقط شامل jpg هستن قبول میشن و لینک های شامب JPG قبول نمیشن
اینم کدی که من دارم :

a[j در کد زیر همون فرمت های قابل قبول هستش که در تکست باکس وارد شده اند


if (input.IndexOf(a[j]) != -1)
{

if (txtScreenShot.Text != "")
{
this.txtScreenShot.Text = input;

الان راهی هست من بتونم حساس بودن به حروف کوچک و بزرگ را از رو این کد بردارم که در ه صورت فقط کلمه اگه همون کلمه بود قبولش کنه ؟

سپاس


string[] extensions = { ".jpg", ".jpeg", ".jpe", ".gif", ".bmp", ".png" };
bool supported = false;
foreach (string extension in extensions)
if (textBox1.Text.EndsWith(extension, StringComparison.OrdinalIgnoreCase))
{
supported = true;
break;
}
MessageBox.Show(supported.ToString());

mehrdad1991h
یک شنبه 15 بهمن 1391, 15:28 عصر
این روش ظاهرا خیلی بهتره فقط یه سوال این قسمت چی کار میکنه ؟
StringComparison.OrdinalIgnoreCase
اگر امکانش هست میشه یه مختصر کوچولو توضیح بدید
سپاس

the king
یک شنبه 15 بهمن 1391, 18:01 عصر
این روش ظاهرا خیلی بهتره فقط یه سوال این قسمت چی کار میکنه ؟
StringComparison.OrdinalIgnoreCase
اگر امکانش هست میشه یه مختصر کوچولو توضیح بدید
سپاس

وقتی OrdinalIgnoreCase رو بکار می برید، مقایسه بدون در نظر گرفتن بزرگی و کوچکی حروف انجام میشه، یعنی مهم نیست که با حروف بزرگه یا کوچیک.
خیلی از توابع رشته ای که مقایسه ای رو انجام می دهند از OrdinalIgnoreCase پشتیبانی می کنند.
دونه دونه اون پسوند ها داخل یک حلقه با EndWith مقایسه می شوند.
EndsWith یعنی بررسی کنیم که آیا رشته به اون پسوند ها ختم میشه یا نه (انتهای رشته برابر اون پسوند ها هست یا نه)