c#为类成员分配条件值

时间:2016-05-14 08:13:05

标签: c# class

有没有办法将条件值分配给同一个类中的类成员?

public class getStudent
{
private bool itsOkay = false;
private short stID = 0;

public bool ValusOkay
    {
        get  {return itsOkay;}
        set  {itsOkay = value;}
    }
 public short STid
    {
        get {return stID;}
        if(itsOkay == true)
           set {stID = 8;}
        else
           set {stID = 0;}
    }    
}

提前谢谢。

3 个答案:

答案 0 :(得分:3)

你可以试试这个

同样要在三元运算符中从int转换为short,语法应该是这样的

    public short STid
    {
        get {return stID;}

        set {stID = itsOkay  ? (short)8 : (short) 0;}          
    } 

答案 1 :(得分:2)

您可以在get或set方法中放置任何内容 - if, for, while .....,但不建议在属性中放置大量代码行。但在你的情况下,你可以简单地将你的if置于setter中:

public short STid
{
    get {return stID;}
    set 
    {
        if(itsOkay == true)
            stID = 8;        
        else
            stID = 0;
    }
}

答案 2 :(得分:1)

如果您的代码确实显示了您的尝试,那么您根本不需要设置器。

public short STid => (itsOkay) ? (short) 8 : (short) 0;

根据给定的条件,这将创建一个返回8或0的getter。