C# C语言中的硬编码值#

C# C语言中的硬编码值#,c#,model-view-controller,C#,Model View Controller,我有一个DTO(或POCO类,不确定正确的术语是什么)类(在模型中),具有以下值: public class MainDTO { public CustomerDTO[] customer { get; set; } public string itemPurchased { get; set; } public int staffId { get; set; } } public class CustomerDTO { public string name {

我有一个DTO(或POCO类,不确定正确的术语是什么)类(在模型中),具有以下值:

public class MainDTO
{
    public CustomerDTO[] customer { get; set; }
    public string itemPurchased { get; set; }
    public int staffId { get; set; }
}

public class CustomerDTO
{
    public string name { get; set; }
    public string[] address { get; set; }
}
我在我的MVC应用程序中调用它是在一个RESTWebService调用之后进行的,该调用返回一个带有上述类值的Json

我想在控制器中硬编码这些值,以便测试视图。但是,我不知道如何硬编码调用另一个类的值

//Response variable below contains Json result of the web service call
var root = JsonConvert.DeserializeObject<GETModel.MainDTO>(response); 

//Hard-coding values to test view
root.customer = ? //How can I hard-code this value?
root.itemPurchased = “Random Item”;
root.staffId = 2299;

return View(root);
//下面的响应变量包含web服务调用的Json结果
var root=JsonConvert.DeserializeObject(响应);
//将值硬编码到测试视图
root.customer=//如何硬编码此值?
root.itempowered=“随机项目”;
root.staffId=2299;
返回视图(根);

如何硬编码“root.customer”变量?它包含一个数组和字符串变量。

创建该类的新实例(或者更确切地说是该类实例的新数组)并填充它

root.customer = new CustomerDTO[] 
{ 
    new CustomerDTO() 
    {
        name = "",
        address = new string[] 
        { 
            "value1", 
            "value2" 
        }
    }
};

因为它是一个带有公共setter的公共类,所以您可以轻松地执行此操作。

创建该类的新实例(或者更确切地说是该类实例的新数组)并填充它

root.customer = new CustomerDTO[] 
{ 
    new CustomerDTO() 
    {
        name = "",
        address = new string[] 
        { 
            "value1", 
            "value2" 
        }
    }
};

因为它是一个带有公共setter的公共类,所以您可以很容易地做到这一点。

虽然我不喜欢硬编码,但您可以这样做

    List<CustomerDTO> customers = new List<CustomerDTO>();

    var customer1 = new CustomerDTO();
    customer1.name = "xyz";
    customer1.address = new string[1];
    customer1.address[0] = "123, xyz st, city, state";

    var customer2 = new CustomerDTO();
    customer2.name = "abc";
    customer2.address = new string[1];
    customer2.address[0] = "123, abc st, city, state";

    customers.Add(customer1);
    customers.Add(customer2);

    //Hard-coding values to test view
    root.customer = customers.ToArray();
    root.itemPurchased = “Random Item”;
    root.staffId = 2299;

    return View(root);
列出客户=新建列表();
var customer1=新CustomerDTO();
customer1.name=“xyz”;
customer1.address=新字符串[1];
客户1.地址[0]=“州、市、xyz街123号”;
var customer2=新CustomerDTO();
customer2.name=“abc”;
customer2.address=新字符串[1];
客户2.地址[0]=“州、市、abc街123号”;
customers.Add(customer1);
customers.Add(customer2);
//将值硬编码到测试视图
root.customer=customers.ToArray();
root.itempowered=“随机项目”;
root.staffId=2299;
返回视图(根);

虽然我不喜欢硬编码,但您可以这样做

    List<CustomerDTO> customers = new List<CustomerDTO>();

    var customer1 = new CustomerDTO();
    customer1.name = "xyz";
    customer1.address = new string[1];
    customer1.address[0] = "123, xyz st, city, state";

    var customer2 = new CustomerDTO();
    customer2.name = "abc";
    customer2.address = new string[1];
    customer2.address[0] = "123, abc st, city, state";

    customers.Add(customer1);
    customers.Add(customer2);

    //Hard-coding values to test view
    root.customer = customers.ToArray();
    root.itemPurchased = “Random Item”;
    root.staffId = 2299;

    return View(root);
列出客户=新建列表();
var customer1=新CustomerDTO();
customer1.name=“xyz”;
customer1.address=新字符串[1];
客户1.地址[0]=“州、市、xyz街123号”;
var customer2=新CustomerDTO();
customer2.name=“abc”;
customer2.address=新字符串[1];
客户2.地址[0]=“州、市、abc街123号”;
customers.Add(customer1);
customers.Add(customer2);
//将值硬编码到测试视图
root.customer=customers.ToArray();
root.itempowered=“随机项目”;
root.staffId=2299;
返回视图(根);

创建一个类实例,将其变量设置为所需的硬编码值,然后将其序列化-与反序列化操作相反。
root.customer
是一个数组。您想将其设置为什么?只是一个空数组
new CustomerDTO[0]
?您可以将其设置为空数组、带有硬编码值的数组等。选择权归您
root.customer=newcustomerdto[0]
root.customer=new[]{new CustomerDTO(){name=“John Smith”,address=new[]{123 Main St”,“华盛顿特区”};
它正在调用另一个包含数组和字符串的类。我想在从root.customer变量调用的customerTo类中发送“name”和“address”的值。我还强烈建议查看C#样式/命名约定。小写公共属性名不是bueno。创建一个类实例,设置其变量对所需的硬编码值进行排序,并将其序列化-与反序列化操作相反。
root.customer
是一个数组。要将其设置为什么?只是一个空数组?
new CustomerDTO[0]
?您可以将其设置为空数组、具有硬编码值的数组等。选择权归您。
root.customer=new CustomerDTO[0];
root.customer=new[]{new CustomerDTO(){name=“John Smith”,address=new[]{123 Main St”,“华盛顿特区”};
它正在调用另一个包含数组和字符串的类。我想在从root.customer变量调用的CustomerTo类中发送“name”和“address”的值。我还强烈建议查看C#样式/命名约定。小写公共属性名不是bueno。使用类型推断,您甚至不需要e
CustomerDTO
string
在括号前键入
[]
。通过类型推断,您甚至不需要在括号前键入
CustomerDTO
string
类型。