-1
Я написал следующий код, в котором указаны IsClear
, IsPermanent
и IsSalaried
. IsSalaried
является нулевым логическим. Я ожидаю выход как "Clear,Permanent,Salaried"
. Но он дает выход как "Clear"
. Может ли кто-нибудь помочь мне понять следующую концепцию:Понимание в конкатенации строк
using System;
public class Program
{
public static void Main()
{
MyClass Employee = new MyClass();
Employee.IsClear = true;
Employee.IsPermanent = true;
Employee.IsSalaried = true;
string Test =
Employee.IsClear ? "Clear" : ""
+ (Employee.IsPermanent ? "Permanent" : "")
+ (Employee.IsSalaried.HasValue ? "Salaried" : "");
Console.WriteLine(Test);
}
}
public class MyClass
{
public bool IsClear { get; set; }
public bool IsPermanent { get; set; }
public bool? IsSalaried { get; set; }
}
Заранее благодарен!
«IsClear, IsPermanent, IsSalaried true» <- это утверждение неверно. – sstan
@vivek: Здесь вы [?: Оператор (ссылка на C#)] (https://msdn.microsoft.com/en-us/library/ty67wk28.aspx). Надеюсь, эта помощь. – hungndv
@sstan Все верно. Но все еще не удается получить желаемый результат. – Kenta