我想在一个属性中返回多个变量
public class Cars
{
public object value { get; set; }
public bool worked { get; set; }
}
public Cars GetCar(object value, Cars c)
{
c.value = value;
return c;
}
public void Main(string[] args)
{
Cars c = new Cars();
string mycar = "ABC-12";
int mycar2 = 123;
if (GetCar(mycar, c).value == "ABC") // working
GetCar(mycar, c).worked = false;
if (GetCar(mycar, c).value == 1) // error
GetCar(mycar, c).worked = false;
}
所以如果对象是一个有效的字符串,但如果我使用那个 int,我会得到那个异常
The == operator can not be applied to "object" and "int" operands
注意:我不想每次都使用 Convert.to
最佳答案
您可以使用 object.Equals
方法,这会将两个操作数首先转换为 object
:
if (object.Equals(GetCar(mycar, c).value,"ABC")) // working
GetCar(mycar, c).worked = false;
if (object.Equals(GetCar(mycar2, c).value,1)) // compiles, and does not throw exception
GetCar(mycar2, c).worked = false;
关于c# - 如何在属性中返回多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57785771/