分配给C#中的列表

问题描述:

我试图给C#中的列表赋值。我有以下类:分配给C#中的列表

public class Request 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public string email { get; set; } 
    public List<Service> services { get; set; } 

} 
public class Service 
{ 
    public string sku { get; set; } 
    public string did { get; set;} 
} 

我用下面的代码在我的控制器:

public async Task<IHttpActionResult> GetCases() 
    { 
     var client = await 
     SalesforceService.GetUserNamePasswordForceClientAsync(); 

     //Select All Cases Where Status = New. 
     var cases = await client.QueryAsync<Case>("SELECT Id, 
     Description FROM Case Where Status='New'"); 
     var sfCases = cases.Records.Select(c => new 
     { 
      c.Description 
     }); 

     List<Request> requestresults = new List<Request>(); 
     foreach (var c in sfCases) 
     { 

      var sfrequest = new Request(); 
      if (c.Description != null) 
      { 
       string[] descriptionline = null; 

       sfrequest.Description = c.Description; 

       descriptionline = Regex.Split(c.Description, "\r\n"); 

       if (descriptionline.Any(x => x.Contains("FirstName"))) 
       { 
        var firstnameindex = Array.FindIndex(descriptionline, row => row.Contains("FirstName")); 
        sfrequest.firstName = descriptionline[firstnameindex].Replace("FirstName - ", ""); 

        var lastnameindex = Array.FindIndex(descriptionline, row => row.Contains("LastName")); 
        sfrequest.lastName = descriptionline[lastnameindex].Replace("LastName - ", ""); 

        var emailindex = Array.FindIndex(descriptionline, row => row.Contains("Email")); 
        sfrequest.email = descriptionline[emailindex].Replace("Email - ", ""); 

        var skuindex = Array.FindIndex(descriptionline, row => row.Contains("sku")); 

如何抢skudid并为它们分配的方式,我做了其他性质相同?

+4

什么和你的问题到底在哪里?在代码中突出显示它.. – Coding

+2

欢迎来到Stack Overflow!当提出问题时,请尝试制作[最小完整且可验证](https://*.com/help/mcve)您问题的示例。现在你有很多代码可能与这个问题没有多大关系。正如@Coding所述,目前还不清楚问题的症结所在。这并不容易,但它是使用软件的一部分。 –

由于您的要求类包含一个名为services列表,你可以简单地访问服务的价值,如:

services.sku
services.did

在你的源代码,我认为你会使用它,如:

var skuindex = Array.FindIndex(descriptionline, row => row.Contains("sku")); 
sfrequest.services.sku = descriptionline[skuindex].Replace("Sku - ", ""); 

var didindex = Array.FindIndex(descriptionline, row => row.Contains("did")); 
sfrequest.services.did = descriptionline[didindex].Replace("Did - ", ""); 

此外,我要指出两点:
- 确保services - 变量在您尝试访问它的位置进行初始化,否则会遇到异常。
- 建议使用大写字母来表示属性名称的第一个字母。您使用的符号通常用于字段。