0

ここでいくつかの検索を行いましたが、正確に必要な答えが見つかりませんでした。Web サービスに送信する必要がある検索パラメーターを含む構造体があり、入力しようとしているフィールドの 1 つがリストです。元のコードは、このパラメーターを満たすために作成されました。string[]型だったので、変数名を変えてこんな感じに、

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

(; は、ユーザーが入力できるさまざまなオプションを区切っていた)

だから私は List.Add() でリストを埋めることを考えていましたが、トークンが利用可能です。.NET に StringTokenizer のような実装があるかどうかを検索しました。ほとんどの回答は string.Split を使用すると述べていますが、Java の StringTokenizer が持っていた他の便利なメソッドについては何も言及していません。

思慮深い回答をありがとう。

4

2 に答える 2

2

質問から、あなたが望むように見えます:

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

ここに、あなたが探しているものがいくつかあると思います(これは、操作方法に関する質問です。JavaのStringTokenizerが配列に組み込まれているため、多くのメソッドやメソッドは必要ありません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;

また、文字列を分割しているだけなので、ここでは正規表現はあまり意味がありません。文字列のサイズに応じてパフォーマンスが向上する可能性がありますが、最終的には分割が簡単になります。パフォーマンスの問題がない場合は、現在の問題から変更することはありません。

于 2012-07-06T17:18:58.133 に答える