我有这行代码
merchant = string.Format("{0} {1}", person.FirstName, person.LastName);
使用.
表示法从变量中获取值的正确方法是什么?
有没有办法做到这一点?
答案 0 :(得分:4)
首先使Merchent成为一个类型,以便您可以使用"来访问其对象的属性。"符号
public class Merchant
{
public string Firstname {get;set;}
public string Lastname {get;set;}
// any other properties of merchant
}
然后你可以像这样在主类中访问它。
Merchant m = new Merchant(){ Firstname=person.FirstName, Lastname= person.Lastname };
string a = m.Firstname;
string b = m.Lastname;
答案 1 :(得分:0)
如果这是某种序列化,您只需稍后解析结果字符串,那么以下代码可以帮助您:
merchant = string.Format("{0} {1}", person.FirstName, person.LastName);
var result = merchant.Split(" ", StringSplitOptions.RemoveEmptyEntries);
// this ^ won't work if firstName or lastName contain spaces, so you can use another separator:
merchant = string.Format("{0}#{1}", person.FirstName, person.LastName);
var result = merchant.Split("#", StringSplitOptions.RemoveEmptyEntries);
var firstName = result[0];
var lastName = result[1];
但它不是一个对象,它只是一个字符串。
答案 2 :(得分:0)
您正在做的事情是将两个单独的字符串合并为一个新字符串。如果没有事先知道输入字符串的确切长度(在这种情况下你可以使用String.Substring),就无法从结果字符串中取回初始字符串。