c# - 如何在属性中返回多个变量

标签 c# asp.net

我想在一个属性中返回多个变量

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/

相关文章:

c# - 将 CryptoStream 解密为 MemoryStream

javascript - Window.Navigate 方法在 Firefox 和 Chrome 中不起作用

.net - 生产/测试环境简单问题

c# - 奇数返回语法语句

c# - Entity Framework - ContextBuilder 命名空间

javascript - 取消隐藏 <asp :Panel> using javascript

c# - 顶部 :? 的 CSS 问题

c# - View 状态 MAC 的验证失败。应用程序由 Web 场托管,确保 <machineKey> 配置

c# - 表示 Day 的最大值为 32 的日期

c# - 有没有办法从 WCF REST 方法返回不同的类型?