从字符串格式c#中取出值

时间:2014-11-11 11:28:09

标签: c# string.format

我有这行代码

merchant = string.Format("{0} {1}", person.FirstName, person.LastName);
使用.表示法从变量中获取值的正确方法是什么? 有没有办法做到这一点?

3 个答案:

答案 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),就无法从结果字符串中取回初始字符串。