在C#中使用字符串分割

3
我正在尝试从一个txt文件中读取类似于以下内容的字符串:
YXCZ0000292=TRUE
或者
THS83777930=FALSE
我需要使用字符串分割将序列号收集起来,并将其放入一个变量中以便稍后使用,同时使用字符串的TRUE或FALSE部分设置复选框。序列号永远不会相同,而TRUE或FALSE部分可以是随机的。有人有处理这个问题的好方法吗?

2
你已经尝试过什么了吗?(即,你有一个具体的问题吗?) - adrianbanks
请在对新用户进行负评之前提供更多的指导和细节。我认为这个问题对于一个新用户来说并不是太糟糕的问题。 - CharithJ
5个回答

3

给定任何名为linestring,您应该能够执行以下操作:

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

我认为这应该能起到所需的作用。


1
目前,您的“boolean”变量中有一个“TRUE”或“FALSE”的字符串值。您应该使用Boolean.Parse。 - maxk
好的,我会加上的(我忽略了他想要将它们与复选框一起使用的事实)。 - Ken Wayne VanderLinde
运作得像个冠军。感谢您的快速回复! - 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

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

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

要设置复选框的值,只需使用checked

checkbox.checked = value

你不需要调用 ToLower,因为 Boolean.Parse 是大小写不敏感的。 - Ken Wayne VanderLinde

1
假设文本文件仅包含一个序列和值:
string text=File.ReadAllText("c:\filePath.txt");
string[] parts=text.split("=");

现在,parts[0] 是串行号,parts[1] 是布尔值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接