2017-01-27 3 views
-3

Хорошо, прежде чем я попрошу о помощи, связанной с проблемой, с которой я столкнулся, я искал googled, и я прочитал множество ссылок на других сайтах, подобных этой. Я пытаюсь вычислить переменные, используя мою венгерскую нотацию. Поэтому, пожалуйста, не отмечайте или не любите мой пост, мне действительно нужны некоторые эксперты.Как мне отличить разные типы данных

Я уже сделал несколько, но, честно говоря, не знаю, правильно ли я это сделал. Но я действительно пытаюсь их попытаться, я просто не хочу, чтобы кто-то еще обращался за помощью, кроме как здесь называл меня noob, но я пытался выяснить их примерно в течение 3 дней.

Сайты, которые я использовал в попытке понять это есть -

  1. Hungarian Notation
  2. Casting and Type Conversions (C# Programming Guide)
  3. Я бы опубликовать больше, но система не будет препятствовать мне размещать какие-либо больше ссылок.
intNum1 =30 
dblNum2=45.3 
strNum3=”88” 
text box named txtNum4 
intNum5 = 0 

Correct следующие утверждения с правильной отливки.

txtNum4.Text = intNum1; 
strNum3 = txtNum4.Text; 
dblNum2 = intNum1; 
intNum1 = dblNum2; 
txtNum4.Text = dblNum2 * 2; 
intNum1 = txtNum4.Text; 
dblNum2 = txtNum4.Text; 
txtNum4.Text = dblNum2 * 2; 
txtNum4.Text = “The value is “ + dblNum2; 
Modify the previous casting to display dblNum2 as currency. 

Вот что я сделал до сих пор, если я делаю их неправильно сказать, потому что я понятия не имею, я обычно учиться с наглядными пособиями, но я ничего не имею.

int intNum1 = 30; 
txtNum4.Text = intNum1.ToString(); 

string strNum3 = "88"; 
strNum3 = txtNum4.Text; 

Double dblNum2 = 45.3; 
dblNum2 = (double)intNum1; 

int intnum1; 
double dblnum2 = 45.3; 
intnum1 = (int)dblnum2; 

txtNum4.Text = (dblNum2 * 2).ToString(); 

Док, что я получил информацию от

Предположим, вы следующие переменные с помощью моего венгерскую нотацию как тип данных намек:

1. intNum1 =30 
2. dblNum2=45.3 
3. strNum3=”88” 
4. Assume you have a text box named txtNum4 
5. intNum5 = 0 

Хотя текст и строки держать номера, они не являются значениями, а скорее персонажами. Исправьте следующие утверждения, добавив правильное кастинг. Если литье не требуется, укажите так:

1. txtNum4.Text = intNum1; 
2. strNum3 = txtNum4.Text; 
3. dblNum2 = intNum1; 
4. intNum1 = dblNum2; 
5. txtNum4.Text = dblNum2 * 2; 
6. intNum1 = txtNum4.Text; 
7. dblNum2 = txtNum4.Text; 
8. txtNum4.Text = dblNum2 * 2; 
9. txtNum4.Text = “The value is “ + dblNum2; 
10. Modify the previous problem to display dblNum2 as currency. 
+4

Может быть, я еще немного спала, но ... я действительно не понимаю, что ваш вопрос, или какая проблема у вас ... А что Венгерская нотация имеют с ней и – Pikoh

+0

@Pikoh кажется, некоторые люди получили это как домашнюю работу. В последние дни возникли вопросы о той же самой задаче ... – wkl

+0

Простите, я тоже спал, но я пытаюсь исправить следующие утверждения, при этом правильное кастинг - это все. – MIkeSmith

ответ

1

Вы не конвертируете между типами данных. Вы распаковываете их вместо преобразования, следовательно, сбой. Проверьте эту ссылку и последний пример кода, который имеет ту же самую ошибку.

https://msdn.microsoft.com/en-us/library/yz2be5wk.aspx

Вы должны были использовать преобразование и/или разбора avariable функции.

double dblTwelve = Convert.ToDouble(12); 
int intTwelve = Int32.Parse("12"); 

Edit: Если вы не уверены в том, что содержание разобранного значения соответствует желаемому типу данных, вы всегда можете использовать функцию TryParse вместо разбора, или использовать Try-фиксатор для контроля за возможное исключение.

double doubleInput; 
string input = "not-a-number"; 
bool isDouble = double.TryParse(input, out doubleInput); 
Смежные вопросы