2016-07-11 3 views
-2

私はリストボックスとすべての英語名のリストを持っています。ListBoxでこれを実行できますか?

OK、「ユーザー」という入力文字「J」があるとします。私は私のListBoxがユーザーに結果を表示するためにいくつかの項目(多分5)を選ぶようにしたい。

ユーザーが "J"を入力し、ListBoxが "J"で始まるすべての名前を読み込む必要はありません。

ユーザーが別の文字、例を追加したときにどのように私は私のリストボックスの結果を更新することができます。私は私のリストボックスがしたいすべてがランダムに

   List<string> DictionaryList = new List<string>().Take(5).ToList(); 

      //WEB 
      WebClient web = new WebClient(); 
      String html = web.DownloadString("http://www.EXAMPLE.org/Letter/J"); 
      MatchCollection m1 = Regex.Matches(html, @"<li>\s*(.+?)\s*</li>", RegexOptions.Singleline); 

      foreach (Match m in m1) 
      { 
       string city = m.Groups[1].Value; 
       DictionaryList.Add(city); 
      } 

J.

文字で別の質問の更新を開始するいくつかの項目の結果をロードしています(「Ja」)。ユーザーが "Ja"を入力したとき。上記の質問と同じことを行うためにListBoxを更新したい(無作為に "Ja"に近い結果をいくつか選ぶ)

ありがとう、Wan-Fai。

+0

お試しくださいhttps://msdn.microsoft.com/en-us/library/system.random(v=vs.110).aspx – MichaelMao

+0

次に、 "web.DownloadString(...")を押す必要があります。キー。または、すべての可能性をダウンロードしてローカルにキャッシュし、linqを使用して検索してください。 –

+0

これはwinformsプロジェクトかwpfプロジェクトですか? – Clint

答えて

0

これはおそらくあなたを助けるでしょう。 「

var result = list.Where(n=>n.StartsWith(input)).Take(2); 

this

var result = list.Shuffle().Where(n=>n.StartsWith(input)).Take(2); 

で2つの同様の要素を選択し使用する "ジョー" で始まる2つのランダム要素を選択

var list = new List<string>(); 
string[] names = {"Jon","Julia","Josh","Jonson","Mai","Gordon"}; 
var input = "Jo"; 

は "ジョー" で始まる2つの要素を選択:開始データを使用しますジョー」使用this

var result = list 
    .Where(n=>CalcLevenshteinDistance(n.Substring(0,input.Count()),input) >= input.Count()-input.Count()*0.5) 
    .Take(2); 
関連する問題