2010-06-15 5 views
-2

comment puis-je lire les valeurs chaînecomment lire les chaînes en utilisant C#

QuoteNo: 32586/CustomerNo: ABCDEF/TotalAmount: 32/Transformé: Non

Je veux lire les valeurs des chaînes dans toute commande

+0

de sorte que votre sortie comme: QuoteNo:/CustomerNo: ABCDEF/TotalAmount:/Transformé: Non – anishMarokey

+2

Lire des chaînes de quoi? Pour quoi? – nlinus

+1

StackOverflow Jeopardy. Devinez la question pour 400 $, Alex. –

Répondre

3

Je ne sais pas ce que vous cherchez à faire, mais de votre chaîne donné peut être le suivant

string input = "QuoteNo:32586/CustomerNo:ABCDEF/TotalAmount:32/Processed:No"; 

var query = from pair in input.Split('/') 
      let items = pair.Split(':') 
      select new 
      { 
       Part = items[0], 
       Value = items[1] 
      }; 

// turn into list and access by index 
var list = query.ToList(); 

// or turn into dictionary and access by key 
Dictionary<string, string> dictionary 
    = query.ToDictionary(item => item.Part, item => item.Value); 
3
  1. diviser la chaîne par/en réseau boucle
  2. par l'intermédiaire du réseau et de diviser chaque entrée par: (créant essentiellement la valeur de paire de clés), pousser que dans un dictionnaire, la clé sera le réseau à indice 0 et valeur à l'index 1
  3. Une fois que vous avez votre dictionnaire, vous pouvez simplement faire quelque chose comme: myData [ "QuoteNo"] ou myData [ "CustomerNo"]
+0

+1 écrivait juste la même réponse .... –

0
string str = "QuoteNo:32586/CustomerNo:ABCDEF/TotalAmount:32/Processed:No"; 
string split = str.Split('/'); 
foreach(string s in split) 
{ 
    int index = s.IndexOf(':'); 
    if (index <= 0 || index + 1 >= str.Length) throw new Exception(); 
    string name = s.SubString(0,index); 
    string value = s.SubString(index+1); 
} 
Questions connexes