PDA

View Full Version : کار دستور TrimStart و TrimEnd وقتی پارامتر ورودی ندارند



bftarane
دوشنبه 22 مهر 1392, 09:01 صبح
سلام.
تیتر گویای سوال هست.

و اینکه فرضا ما یه تکست باکس داریم به اسم Txt_search
آیا این نحوه نوشتن درست هست؟

Txt_search.TrimStart().TrimEnd();
یا حتماً باید به شکل زیر نوشته بشه.

(Txt_search.TrimStart()).TrimEnd();

bitcob589
دوشنبه 22 مهر 1392, 10:18 صبح
اول بررسی کنید تکس باکس ورودی دارد اگر ورودی دارد در آن زمان از TrimStart و TrimEnd استفاده نمایید

هدفتان از کد زیر چیست

Txt_search.TrimStart().TrimEnd();
اگر هدفتان برای حذف فاصله خالی سمت راست و چپ ورودی است از trim استفاده نمایید
مثلا

string b = TextBox1.Text.Trim().ToString();

mohammad973
دوشنبه 22 مهر 1392, 10:22 صبح
مثلا

string b = TextBox1.Text.Trim().ToString();

دوست عزیز ؛ دیگه اون Tostring آخر رو برا چی گذاشتی !

mohammad973
دوشنبه 22 مهر 1392, 10:28 صبح
bftarane عزیز ؛ اصلا چرا به این شکل ؟ خوب چرا از Trim() استفاده نمیکنی ؟
Trim() کار هر دوتا تابع TrimStart و TrimEnd رو انجام میده . یعنی حذف فواصل ابتدایی و انتهایی. و با فاصله های میانی رشته هیچ کاری نداره .
مگه این که هدفتون از این کد ، صرفا آموزش و آشنایی بیشتر با این توابع بوده باشه .

همونطور که دووست عزیزمون bitcob589 گفتند :

string b = TextBox1.Text.Trim();

bftarane
دوشنبه 22 مهر 1392, 10:50 صبح
راستش من یه کد سرچ بود که از این دستور توش استفاده کرده بود، من کدهای زیر رو با توجه به اون نوشتم.
ولی الآن یادم نیست لینکش چی بود.
من نمی دونستم دلیل استفاده از اینا چی بوده به خاطر همین پرسیدم.

protected void Page_Load(object sender, EventArgs e)
{
rpt.DataSource = MyDALBase.ExecuteReader(System.Data.CommandType.Te xt, "select * from tbl_articles where at_Contents like N'%'+@KeyWord+'%' or at_Title like N'%'+@KeyWord+'%'", new SqlParameter[]{
new SqlParameter("@KeyWord",toPersianSQL(Request.QueryString["s"].ToString().TrimStart()).TrimEnd())
});
rpt.DataBind();
}

private string toPersianSQL(string SQLstr)
{
SQLstr = SQLstr.Replace(
"ي", "ی");
SQLstr = SQLstr.Replace(
"ی", "[یي]");
return SQLstr.Trim();
}

bftarane
دوشنبه 22 مهر 1392, 10:52 صبح
لطفاً اینم جواب بدید که آیا به این فرم نوشتن اشکالی نداره؟

Txt_search.TrimStart().TrimEnd();

bitcob589
دوشنبه 22 مهر 1392, 11:00 صبح
زمانی که trim() کار دو تابع TrimStart()وTrimEnd() انجام می دهد نیازی نیست به صورت زیر نوشته شود

Txt_search.TrimStart().TrimEnd();

mohammad973
دوشنبه 22 مهر 1392, 11:03 صبح
باید تست کنید ، بعید میدونم مشکلی داشته باشند به هر دو صورت ، گرچه (Txt_search.TrimStart()).TrimEnd(); منطقی تر و زیباتر هستش !!!