PDA

View Full Version : مبهم بودن نکته ها



ordebehesht
جمعه 10 آذر 1391, 23:15 عصر
با سلام من یه کد برلتون میزارم و مشخص میکنم کجار رو نمیگیرم و کجا ها چه میکنه

dataset ds=new datset();
ds.locale= cultureinfo.invariantCulture;
filldataset(ds);
datatable products=ds.tables["product"];
ienumerable<Datarow> query= from product in product.Asenumberable();
select product;
cosol.writlline("product Name:");
foreach(datarow p in query)
c.writline(p.field<srtring>("Name"));

خط دوم و نمی گیرم یعنی چی!!!!!!!!!!!111
asenumberable() تو خط 5 چه متدی و چه میکنه
p.field<srtring>("Name, و نهایتا این یعنی چی

ممنون ا توزیحاتتون

ارمین نصیری
جمعه 10 آذر 1391, 23:47 عصر
سلام دوست عزیز در خط دوم میاد دیتا بیس رو به برنامه وصل می کنه و در خط 5 می یاد یک کوری رو با یک فیلد می سازه که نمی دونم انو فیلد چیه باید یک سرد به دیتا بست بزنی ودر خط اخر تمام سطر هارو که string هستند رو چاپ می کنه

ordebehesht
شنبه 11 آذر 1391, 01:49 صبح
دوست من خط دوم بازم مبهمه کلاس و متد موجود برام گنگه کمی میشه واظح بگی که کلاس و متد چین کارش چیه

hakim22
شنبه 11 آذر 1391, 11:16 صبح
cultureinfo.invariantCulture;

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

product.Asenumberable();

کارش اینه که جدول product رو به صورت یک متغیر شمارش پذیر در میاره - متغیرهای شمارش پذیر Enumerable قابلیت های خاصی برای گردش در میان خودشون دارند و اصولا همان خروجی همه ی LINQ ها از نوع Enumerable است.
اگر Asenumberable رو بردارید سی شارپ قادر به شناسایی لیست محصولات نیست و فقط جدول کلی رو تشخیص میده . این گزینه جدول داده ها رو به صورت لیست از آیتمهای مجزای در میاره که شما می توانید در میانشان کردش کنید.