如何使用内联赋值在 C# 对象中分配部分值

本文关键字:对象 分配部 何使用 赋值 | 更新日期: 2023-09-27 18:32:19

我有一个模型集合

public class MobileModelInfo
{
    public string Name { get; set; }
    public string Catagory { get; set; }
    public string Year { get; set; }
}
Public Class MainClass
{
    public MainClass()
    {
        MobileModelInfo mobObject = new MobileModelInfo();
        mobObject.Name = "Apple iPhone 6";
        SetMobileDetails(mobObject);
    }
    private void SetMobileDetails(MobileModelInfo mobObject)
    {
        mobObject.Catagory = "Ultra Smart Phone";
        mobObject.Year = "2015";
    }
}

在 SetMobileDetails() 方法中,将部分值设置为 MobileModelInformation 的对象。在这里,我需要通过内联分配值。我怎样才能实现这一点

例如:new MobileModelInfo() { Catagory = "Ultra Smart Phone", Year = "2015" }

请协助我...

注意:其中一个属性在构造函数中设置,其余属性将在 SetMobileDetails() 方法中设置。

如何使用内联赋值在 C# 对象中分配部分值

使用以下代码来解决您的问题,谢谢。

void SetMobileDetails(String Catagory String Year )
{
    new MobileModelInfo() { Catagory = "Ultra Smart Phone", Year = "2015" }
}

当属性更改时,还要重载,如下所示

 void SetMobileDetails(String Catagory)
    {
        new MobileModelInfo() { Catagory = "Ultra Smart Phone"}
    }

您可以使用命名参数,但需要传递对象属性的值

private void SetMobileDetails(string catagory="", string year="")
{
    //...
}

您可能需要一个构造函数,其中包含所有三个属性值

public MainClass(string name, string catagory="", string year="")
{
    mobObject.Name = name;
    SetMobileDetails(catagory: "Ultra Smart Phone", year : "2015");
}

这就是您所需要的:

public class MobileModelInfo
{
  public string Name { get; private set; }
  public string Catagory { get; set; }
  public string Year { get; set; }
  public MobileModelInfo(string name)
  {
    Name = name;
  }
}

用法:

var iphone = new MobileModelInfo("Apple iPhone") {Catagory = "Mobile", Year = "2016"};