PDA

View Full Version : مشکل در تبدیل Cannot implicitly convert type 'string' to 'int



Collector
چهارشنبه 04 اسفند 1389, 17:30 عصر
سلام

این کد را نگاه کنید. مقدار textBox1.Text از نوع string است . باید از نوع int باشد تا بتوان به یک رکورد پرش کرد.

Cannot implicitly convert type 'string' to 'int'


objCurrencyManager.Position = textBox1.Text;
ShowPosition();

از این کد استفاده کرده ام ولی خطا میدهد.


Convert.ToInt32(textBox1.Text);
objCurrencyManager.Position = textBox1.Text;
ShowPosition();

محسن شامحمدی
چهارشنبه 04 اسفند 1389, 18:36 عصر
درستش اینه:

objCurrencyManager.Position = Convert.ToInt32(textBox1.Text);
ShowPosition();

Collector
چهارشنبه 04 اسفند 1389, 20:03 عصر
درستش اینه:

objCurrencyManager.Position = Convert.ToInt32(textBox1.Text);
ShowPosition();

با تشکر که باسخ دادید
من این کد رو نوشتم ولی وقتی میخوام یک واحد کم کنم این Error را داد.


Operator '-' cannot be applied to operands of type 'string' and 'int'


int32 pp;

objCurrencyManager.Position = Convert.ToInt32(textBox1.Text);
pp = textBox1.Text-1;
//pp =- pp;
ShowPosition();

AmirHarirbafan
چهارشنبه 04 اسفند 1389, 20:25 عصر
دستور Convert.ToInt32 محتویات تکس باکس رو تغییر نمیده. بلکه اونو تبدیل به عدد میکنه و بر میگردونه
باید به این صورت عمل کنید :


Int32 pp;
pp = Convert.ToInt32(textBox1.Text);
pp--;
objCurrencyManager.Position = pp;
ShowPosition();

محسن شامحمدی
چهارشنبه 04 اسفند 1389, 20:29 عصر
ببینید دوست عزیز
کلا عرض می کنم که نوع داده textBox1.Text رشته ای بوده و برای اینکه بتوانید به راحتی با آن در سی شارپ کار کنید ابتدا آن را به به نوع عددی تبدیل کنید.
کد تصحیح شده:

int32 pp;
pp = Convert.ToInt32(textBox1.Text);
objCurrencyManager.Position = pp;
pp -= 1;
ShowPosition();