2010-05-13 58 views
5

我有值的分号分隔的列表,例如:解析分号分隔的列表

strins s = "param1=true;param2=4;param3=2.0f;param4=sometext;"; 

我需要一个功能:

public bool ExtractBool(string parameterName, string @params); 
public int ExtractInt(string parameterName, string @params); 
public float ExtractFloat(string parameterName, string @params); 
public string ExtractString(string parameterName, string @params); 

是否有特殊的功能在.NET中说可以帮我用分号分隔列表吗?

PS:参数名称在列表中相同。

+0

您的列表以分号分隔,不能逗号分隔。另外,如果其中一个值需要包含分隔符,会发生什么情况? – AakashM 2010-05-13 07:23:20

+0

对不起,我英语不好。我会修好它。 – 2010-05-13 07:25:19

+0

将param1总是一个布尔和param2总是一个int等?或者他们都可以是任何类型?另外,你可以在你的字符串中使用';'吗? – IVlad 2010-05-13 07:29:54

回答

3

作为一个起点,你需要的是String.Split()方法 - 将你的字符串分割成一个字符串数组。

你可以在网上找到大量的例子。

1

对于字符串你可以更好的使用Split(',');

你可以尝试一下本作拆分逗号

string s ="param1=true;param2=4;param3=2.0f;param4=sometext;"; 

string[] sArray = s.Split(',') 
+1

我认为你的意思是:string [] sArray = s.Split(';'); – 2010-05-13 07:24:54

+0

谢谢你是对的..阿德曼 – anishMarokey 2010-05-13 08:42:38

1

这里是一个更好的方式来做到这一点,避免了一大堆空数组元素:

 string lsToString = "Your String Here"; 
     string[] laChars = { "," }; 
     string[] laTo = lsToString.Split(laChars, StringSplitOptions.RemoveEmptyEntries); 

使得它更容易与您的分割字符串后工作,因为你不必担心空元素。

Pete