PDA

View Full Version : تغییر آیتم های حروف بزرگ به حروف کوچک؟



remower
یک شنبه 25 اسفند 1392, 02:36 صبح
سلام،چطور میشه آیتم هایی که حروف بزرگ دارند رو در لیست باکس به حروف کوچک تبدیل کرد؟اگه آیتمی به صورتRezaFaridHamiDبود رو به حروف کوچک تبدیلش کنه به این شکلrezafaridhamid

rahnema1
یک شنبه 25 اسفند 1392, 07:12 صبح
string s="RezaFaridHamiD";
string s1=s.ToLower();

remower
یک شنبه 25 اسفند 1392, 10:40 صبح
ممنونم ولی منظورم اینجور نیس.این آیتمی که گفتم مثال بود ممکنه هر آیتمی حروف بزرگ داشته باشه.ممکنه بیش از 5000 تا آیتم باشه 3000تاش حروف بزرگ باشه.یعنی میخام هر لیستی تو لیست باکس لود کردم آیتم های حروف بزرگ رو به حروف کوچک تبدیل کنه. یعنی کدش به این صورت عمل کنه A =aB =bC= cD =d....

rahnema1
یک شنبه 25 اسفند 1392, 11:14 صبح
ممنونم ولی منظورم اینجور نیس.این آیتمی که گفتم مثال بود ممکنه هر آیتمی حروف بزرگ داشته باشه.ممکنه بیش از 5000 تا آیتم باشه 3000تاش حروف بزرگ باشه.یعنی میخام هر لیستی تو لیست باکس لود کردم آیتم های حروف بزرگ رو به حروف کوچک تبدیل کنه. یعنی کدش به این صورت عمل کنه A =aB =bC= cD =d....

متوجه نمیشم. یعنی یک رشته را در نظر بگیریم و مثلا با حلقه for در کاراکترهای اون جستجو کنیم و هر کدوم بزرگ بود کوچک کنیم؟ فکر کنم هزینه این روش زیاد باشه نسبت به روش اول

remower
یک شنبه 25 اسفند 1392, 16:13 عصر
آره .همینطوری که میگین باشه .یعنی اگه لیست باکسمون هر تعداد آیتمی داشت با زدن بوتون آیتم هایی که حروفشون بزرگه رو به حروف کوچک تبدیلش کنه یه جورایی اصلاحش کنه

rahnema1
یک شنبه 25 اسفند 1392, 17:13 عصر
این جوری میشه ولی نسبت به روش قبلی که گفتم زمان زیادتری می بره

string s1 ="RezaFaridHamiD";
string s2 =string.Concat(s1.Select(xx=> (Char.IsUpper(xx)?char.ToLower(xx):xx)));

daniyaltjm
یک شنبه 25 اسفند 1392, 17:18 عصر
این جوری میشه ولی نسبت به روش قبلی که گفتم زمان زیادتری می بره

string s1 ="RezaFaridHamiD";
string s2 =string.Concat(s1.Select(xx=> (Char.IsUpper(xx)?char.ToLower(xx):xx)));


لطفا در مورد این خط توضیح کامل بدین ممنون.

string s2 =string.Concat(s1.Select(xx=> (Char.IsUpper(xx)?char.ToLower(xx):xx)));

rahnema1
یک شنبه 25 اسفند 1392, 17:45 عصر
ابتدا در بالا این را بذارید

using System.Linq;

linq یک روش جایگزین sql برای جستجو در لیستها و آرایه هاو ... هست

این

(Char.IsUpper(xx)?char.ToLower(xx):xx)

یک نوع نوشتن دستور if هست اگه شرط برآورده شد جلوی علامت سوال اجرا میشه در غیر اینصورت عبارت جلو : اجرا میشه

می خواهیم از ابتدای رشته شروع کنیم و تک تک اونها را بررسی کنیم
عبارتهایی به صورت xx=>yy را عبارت lambda می گیم که تشکیل یک تابع محلی را میده که پارامتر اون xx هست و مقدار برگشتی اون yy هست
بنابراین در اینجا xx میشه تک تک کاراکتر های رشته که به ترتیب می خواهیم اونها را بررسی کنیم و مقدار برگشتی هم نتیجه شرط if هست
متد select هم کار انتخاب را انجام میده
و concat هم نتیجه select که به صورت Enumerable هست به string تبدیل می کنه
می تونید جهت اطلاع بیشتر به آدرس زیر مراجعه کنید
http://msdn.microsoft.com/en-us/library/bb397687.aspx

مهرداد صفا
دوشنبه 26 اسفند 1392, 21:22 عصر
سلام.


listBox1.DataSource=(listBox1.Items.Cast<String>().Select(i=>i.ToLower())).ToList();