2011-01-28 13 views
0

다음과 같이 텍스트 파일 (현재 CSV 형식)이 있습니다.텍스트 파일을 변수 목록으로 파싱 하시겠습니까?

RACE,"race_human" 
GENDER,"male" 
AGE,30 
ALIGNMENT,"align_lawful_good" 
DEITY,"Old Faith" 

그러나 텍스트 파일을 변수 목록 인 것처럼 해석하고 싶습니다. 예 :

var RACE:string = "race_human"; 

프로그램 코드에서 사용하는 기본 언어로 텍스트 파일을 다시 포맷하는 등의 쉬운 방법이 있습니까?

+0

제목에 ".NET"과 같은 카테고리를 넣을 필요는 없습니다. 태그가있는 것입니다. –

+0

좋습니다, 감사합니다. 그렇게 할거야. – posfan12

답변

2

각 행을 쉼표로 분리 한 다음 각 항목을 사전에 배치 할 수 있습니다 (키가 고유 한 경우). 키가 존재하지 않을 가능성이있는 경우 Dictionary.TryGetValue을 사용하십시오.

string[] input = File.ReadAllLines(CSV-File-Here); 
var dict = input.Select(s => s.Split(',')) 
       .ToDictionary(s => s[0], s => s[1]); 

// show alignment 
string alignment = dict["ALIGNMENT"]; 
Console.WriteLine(alignment); 

// show all values 
foreach (var key in dict.Keys) 
{ 
    Console.WriteLine("{0}: {1}", key, dict[key]); 
} 

편집 : 당신이 CSV 파일로 작업 할 FileHelpers에 관심이있을 수 있습니다.

+0

차가움. CodeProject에서이 (http://www.codeproject.com/KB/database/CsvReader.aspx) 라이브러리를 사용하려고 시도하고 응답을 받으면 기다리고 있습니다. – posfan12

+0

JScript .NET 사전 개체의 구문을 파악하는 데 문제가 있습니다. "private var myDictionary : Dictionary ;"하지만 컴파일러는 세미콜론이 누락되어 Dictionary 객체가 선언되지 않는다고 불평합니다. – posfan12

+0

@ posfan12 JScript.NET에 익숙하지 않아요. 예제를 둘러 봐야 할 것입니다. 또한, C# 또는 JScript.NET에 대한 현재의 질문입니까? 후자의 경우 적절한 태그를 지정하고 추가하기 위해 질문을 업데이트 할 수 있습니다. –