0

我在这里进行了一些搜索,但找不到我确切需要的答案。我有一个结构,其中包含我需要发送到 Web 服务的搜索参数,而我要填写的字段之一是列表。编写原始代码来填充此参数。当它是 string[] 类型时,它看起来像这样,改变了变量名,

    searchParams.someParam= (new List<string>(txtboxInput.Text.Split(';'))).ToArray();

( ; 界定了用户可以输入的不同选项)

所以我想用 List.Add() 填充 List '同时'有可用的令牌。我搜索了 .NET 中是否有类似 StringTokenizer 的实现。大多数答案都说使用 string.Split,但没有提及 Java 的 StringTokenizer 也具有的其他有用方法。

感谢您的任何深思熟虑的答复。

4

2 回答 2

2

从问题来看,您似乎只想:

List<string> list = txtboxInput.Text.Split(';').ToList();
于 2012-07-06T17:11:34.550 回答
1

我在这里看到了一些我认为是您正在寻找的东西(这更多是关于如何使用Split(). 由.返回nextTokenhasMoreTokensSplit

// From the question searchParams.someParam appears to be an array of strings, so you
// can simplify to this vs what is in your above question
searchParams.someParam = txtboxInput.Text.Split(';');

// Looping through and adding to a list of string
var myTokens = txtboxInput.Text.Split(';');
var myTokenList = new List<string>();
for(int index = 0; index < myTokens.length; index++) {
  myTokenList.Add(myTokens[index]);
}

// Total amount of tokens returned
var length = myTokens.length;

此外,RegEx 在这里没有多大意义,因为您只是在拆分字符串。根据字符串的大小,您可能可以获得性能增强,但最终拆分更简单。如果您没有性能问题,那么我不会改变您目前所拥有的。

于 2012-07-06T17:18:58.133 回答