2010-06-15 3 views
-2

как прочитать строку значенийкак читать строки с помощью C#

QuoteNo: 32586/CustomerNo: ABCDEF/TotalAmount: 32/Обработанные: Нет

я не хочу, чтобы прочитать значения строк в любой заказ

+0

так что ваш выход, как: QuoteNo:/CustomerNo: ABCDEF/TotalAmount:/Обработано: Нет – anishMarokey

+2

Прочитайте строки из чего? Для чего? – nlinus

+1

StackOverflow Jeopardy. Угадай вопрос за 400 долларов, Алекс. –

ответ

3

Не уверен, что вы хотите сделать, но с вашей данной строки может быть следующим

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. разделить строку на/в массив
  2. цикл через массив и разделить каждую запись с помощью: (в основном создания ключа пары), засунуть, что в словарь, ключ будет массивом в индекс 0 и значение индекса на 1
  3. После того, как у вас есть словарь, вы можете просто сделать что-то вроде: MyData [ «QuoteNo»] или MyData [ «CustomerNo»]
+0

+1 просто писал тот же ответ .... –

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); 
} 
Смежные вопросы