2011-08-04 135 views
3

我试图从非常类似于下面的一个txt文件中的字符串阅读:使用字符串分割

YXCZ0000292 = TRUE

THS83777930 = FALSE

我需要使用字符串拆分来收集序列号并将其放入一个我可以稍后使用的变量中,并使用字符串的true或false部分来设置复选框。序号永远不会相同,TRUE或FALSE部分可以是随机的。任何人都有一个很好的方法来处理这个问题?

+2

你有什么已经尝试过(即你有一个_specific_问题)? – adrianbanks

+0

请在给新用户降低评分前给予更多指导/详细信息。这个问题对于我认为的新用户来说不是一个太糟糕的问题。 – CharithJ

回答

3

鉴于任何stringline,你应该能够做到

var parts = line.Split('='); 
var serial = parts[0]; 
var boolean = bool.Parse(parts[1]); 

我想根据需要,应该工作。

+1

目前,您在“布尔”变量中有“TRUE”或“FALSE”__string__值。你应该使用Boolean.Parse –

+0

好点,我会把它扔进去(我忽略了他想用复选框来使用它的事实)。 –

+0

像冠军一样工作。感谢您的快速回复! – JCC

2
string s = "THS83777930=FALSE"; 
var parts = s.Split('='); 

// error checking here, i.e., make sure parts.Length == 2 
var serial = parts.First(); 
var booleanValue = parts.Last(); 
1
var ss = String.Split('='); 
Console.WriteLine(ss[0]); //YXCZ0000292 
Console.WriteLine(ss[1]); //TRUE 
1

假设文本文件只包含一个串行和值:

string text=File.ReadAllText("c:\filePath.txt"); 
string[] parts=text.split("="); 

现在份[0]是串行和零件[1]是布尔值。

1

以上所有内容均应正常工作。一旦你需要设置一些复选框的值,你应该有一个布尔值解析。见Boolean.Parse()

string s = "YXCZ0000292=TRUE"; 
string[] parts = s.Split('='); 
string serial = parts[0]; 
bool value = Boolean.Parse(parts[1].ToLower()); 

设置复选框值只使用检查

checkbox.checked = value 
+0

由于'Boolean.Parse'以不区分大小写的方式工作,因此您不需要调用'ToLower'。 –