2014-11-26 2 views
-3

Как вы можете видеть по моему коду, я пытаюсь определить переменные для дюймов и футов, чтобы я мог использовать его в моем строковом устройстве.Установка переменной для цитаты и одиночной цитаты

Пробовал определять переменную как строку, char, var не уверен, что еще нужно делать. Также попробовал @ сбежать.

Любые идеи?

var footsize; 
    if (dlFtSize.SelectedValue == "in") 
    { 
     footsize = '\"'; 
    } 
    else if (dlFtSize.SelectedValue == "ft") 
    { 
     footsize = '\''; 
    } 

EDIT:

Правильный способ сделать это.

string inchsize = ""; 
    if (dlinchSize.SelectedValue == "In") 
    { 
     inchsize = "\""; 
    } 
    else 
    { 
     inchsize = "'"; 
    } 
+0

Ваш текущий код не будет компилироваться, но что не будет работать, если вы определяете его как 'char' или' string'? Что именно ты имеешь ввиду? –

+1

Изменение 'var' на' char' должно было решить проблему. Какое сообщение об ошибке или неожиданный результат вы получаете? –

+0

Сообщение об ошибке должно сообщить вам, что именно случилось. –

ответ

2

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

Это потому, что, насколько это касается программы, dlFtSize. Выбранное значение может быть «dfsklj» (или что-то еще). Тогда footsize не будет иметь никакого значения, связанного с ним, когда вы попытаетесь его использовать.

Вы можете инициализировать footsize так:

string footsize = ""; 

В качестве альтернативы, вы можете просто использовать, если/иначе, а не если/иначе, если.

Вы должны быть в состоянии использовать что-то вроде:

string footsize = ""; 
if (dlFtSize.SelectedValue == "in") 
{ 
    footsize = "\""; 
} 
else if (dlFtSize.SelectedValue == "ft") 
{ 
    footsize = "'"; 
} 

Использование вар не будет работать, если вы присваиваете значение одновременно. Строка в порядке, но вам нужно назначить строки переменной (используя двойные кавычки, а не одиночные). Должен также работать символ, но тогда вы будете использовать одинарные кавычки.

+0

Спасибо, сэр. Я начал с использования строки, но я не знал, что одиночные и двойные кавычки были разными. Мысль, что они оба были нитями, не знали, что сингл был чарком, так что я был испорчен. –

1

Недействительный var footsize;. ... значение, которое должно footsize первым После этого вы можете использовать его (Implicitly Typed Local Variables)

например, вар footsize = String.Empty;

Тогда вы также должны немного изменить вам задания:

if (dlFtSize.SelectedValue == "in") 
{ 
    footsize = "'"; 
} 
else if (dlFtSize.SelectedValue == "ft") 
{ 
    footsize = "\""; 
} 
0

В C# одинарная кавычка используется для определения символьного литерала. Двойная кавычка используется для определения строкового литерала. Для определения дюймов и футов вы можете использовать различное постоянное стандартное значение.

0

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

Вам необходимо убедиться, что вы назначаете значение footsize. Я хотел бы предложить изменить свой код на следующее:

char footsize; 

switch (dlFtSize.SelectedValue) 
{ 
    case "in": 
     footsize = '"'; 
     break; 
    case "ft": 
     footsize = '\''; 
     break; 
    default: 
     throw new NotImplementedException(string.Format("Not implemented foot size: `{0}`", dlFtSize.SelectedValue)); 
} 

Кроме того, вы не можете использовать var без инициализации со значением, так что компилятор может сказать тип переменной.

Смежные вопросы