Я новичок в обучении C# и Silverlight и получил некоторые файлы приложений моим работодателем, чтобы начать обучение. Я могу понять большую часть логики, методов и синтаксиса, используемых в C#, но есть одна строка, которая меня очень сбивает с толку. У меня нет доступа к моим пожилым прямо сейчас, чтобы спросить их, так что логика позади него, поэтому я подумал, что спрошу здесь.Что это за смутное выражение «a == b? Value1: value2»?
Взгляните на это:
В виде .xaml.cs файла:
List<object> lst = new List<object>();
lst.Add(GP.mpl.A);
lst.Add(GP.mpl.B);
lst.Add(GP.mpl.C);
lst.Add(GP.mpl.StnNo);
В другом .cs файле:
public int StnNo = Convert.ToInt32(lst[3].ToString() == string.Empty ? 0 : Convert.ToInt32(lst[3].ToString()));
Я понимаю, что StnNo это время полученные от 1-го [3] и преобразованные в Integer через
Convert.ToInt32(lst[3].ToString()
Но я не понимаю эту часть:
== string.Empty ? 0 : Convert.ToInt32(lst[3].ToString())
Не могли бы вы сказать мне, что там происходит? Я сделал несколько поисков в google, но не нашел ничего связанного. Спасибо за любую помощь.
'[состояние]? [true part]: [false part] 'равно' if ([condition]) {[true part]} else {[false part]} ' – Corak
[Условный оператор] (http://msdn.microsoft.com/ en-us/library/ty67wk28.aspx) – Habib
Убило бы вас, чтобы попробовать и форматировать код правильно? –