PDA

View Full Version : عملکرد این کد چگونه می باشد؟



مهدی نصیری
سه شنبه 13 تیر 1391, 16:30 عصر
با سلام خدمت دوستان کد نویس:

ساختار این کد چگونه می باشد.
select count(*) from users where uname='{0}'
and upassword='{1}';


منظور { 0 } {1} چگونه کار می کند.

tooraj_azizi_1035
سه شنبه 13 تیر 1391, 16:40 عصر
سلام

{0} و {1} نماینده دو مقدار هستند که به String مربوطه اضافه می شوند و در زمان اجرا به جای آنها در رشته قرار می گیرند.
این سوال مربوط به قابلیت composite formatting دات نت هست. آکولاد باز و بسته Escaping Braces گفته می شود.

توضیحات کامل: http://msdn.microsoft.com/en-us/library/txafckwd.aspx

Hajivandian
سه شنبه 13 تیر 1391, 16:44 عصر
سلام،
من نمونه استفاده از این قالب رو با ترکیب دستور زیر دیدم
string.Format("",...);

به عنوان مثال همون موردی که خودتون گفتید اینطور میشه
string username="mojtaba";
string pass="12345";
string.Format("select count(*) from users where uname='{0}' and upassword='{1}';",username,pass);

نتیجه


select count(*) from users where uname='mojtaba' and upassword='12345';

مهدی نصیری
سه شنبه 13 تیر 1391, 16:47 عصر
اقا تورج ممنون از پاسخ ای که دادید.

اگه می شه اون چیزی خودتون از این مبحث composite formatting می دانید توضیح دهید.

مهدی نصیری
سه شنبه 13 تیر 1391, 16:49 عصر
تشکر از توضیح خوبی که دادید

شما این مبحث composite formatting می دانید چه هست.

khataei
سه شنبه 13 تیر 1391, 17:00 عصر
سلام
این یک دستور select در دیتابیس است . اما باید به user , passwoer مقدار دهید.
select count(*) from users where uname='{0}'
and upassword='{1}' , value of user , value of pass

tooraj_azizi_1035
سه شنبه 13 تیر 1391, 18:25 عصر
سلام
.NET Framework composite formatting
این قابلیت لیستی از اشیا و یک رشته با فرمت مرکب را به عنوان ورودی می گیرد. یک Composite Format String حاوی متن ثابت تلفیق شده با Placeholder های اندیس دار که Format Item نامیده می شود و مطابق با اشیای موجود در لیست است. حاصل عمل فرمتینگ رشته ای است که حاوی متن ثابت و بیان رشته ای اشیای موجو در لیست است.

این قابلیت توسط متد های Format و AppendFormat و برخی Overload های WriteLine و TextWriter.WriteLineساپورت می شود .

مثال


string myName = "Fred";
String.Format("Name = {0}, hours = {1:hh}", myName, DateTime.Now);


متن ثابت Name= و hours= است. عناصر فرمت {0} که اندیسش صفر است و متناظر با مقدار شیء myName است و {1:hh} که اندیسش 1 است و متناظر است با مقدار DateTime.Now.