将字符串赋给字符串类型C的属性#

时间:2011-12-14 12:16:37

标签: c# asp.net asp.net-mvc c#-4.0

我可以通过代码更好地解释我的问题。这里是

strind abc="12345678<9";
row1ViewModel data = new row1ViewModel();
data.identityType = abc[0].ToString();
data.passportType = abc[1].ToString();
data.issuingOrg = abc.Substring(2, 3);
var  actual = "";
data.lastName = actual;
//data.lastName = actual;
if (abc[5] == '<')
{
    actual = "Not specified";
}
else
{
    string tempq = abc.Substring(5);
    int index = tempq.IndexOf('<');
    actual = abc.Substring(5, index);
}
//data.GetType().GetProperty(data.lastName).GetValue(actual,null)

这里我需要将我的属性(字符串类型的data.lastname)设置为字符串实际值。但是怎么样?

2 个答案:

答案 0 :(得分:1)

你需要移动你的

 data.lastName = actual;

在你的其他循环之后,如果我正确读你的逻辑。

答案 1 :(得分:0)

您首先分配了空字符串属性:

var  actual = "";
     data.lastName = actual; 

然后更新actual的值,但属性仍然具有“”作为值 你应该移动

data.lastName = actual; 

到代码的末尾:

         strind abc="12345678<9";
     row1ViewModel data = new row1ViewModel();
   data.identityType = abc[0].ToString();
      data.passportType = abc[1].ToString();
      data.issuingOrg = abc.Substring(2, 3);
      var  actual = "";          
     //data.lastName = actual;
      if (abc[5] == '<')
      {
          actual = "Not specified"; 
     } 
     else 
     { 
         string tempq = abc.Substring(5);
          int index = tempq.IndexOf('<'); 
         actual = abc.Substring(5, index); 
       } 
     //data.GetType().GetProperty(data.lastName).GetValue(actual,null)`  
     data.lastName = actual;