2014-05-09 2 views
-2

사용자 파일을 텍스트 파일 (.txt)에 '저장'하고 다시 사용하는 방법이 있습니까? C# Visual Studio 2013 (WFA) 프로그래밍 중 데이터베이스/XML 파일을 사용할 수 없습니다!텍스트 파일에 답변 저장

예를 들어, 몇 가지 질문으로 퀴즈를 프로그래밍합니다. 퀴즈를 시작하고 올바르거나 틀린 답을 몇 개 줄 때 내 대답을 저장하고 올바른/틀린 대답을 볼 수 있어야하며 틀린 대답을 다시 시도 할 수 있어야합니다.

+1

네, 확실히 가능하다 이것 좀 봐. 시도해 봤어? 파일 작업에 대해 배웠습니까? – crashmstr

+0

google'C# text files '을 입력하면 분명히 대답을 얻는 것이 훨씬 더 빠릅니다. 여기에이 질문을 입력하십시오. – Sinatr

+0

Sinatr이 말한 것은 사실입니다. 나는 당신이 무엇을 타자하는지 알지 못한다고 생각하고 있지만, 질문에 기초한 올바른 것은 streamreader와 stream writer라고 불리며, 웹에 수많은 튜토리얼과 예제가 있습니다. , 그러나 길을 따라 어려움을 겪고 있다면 의견을 말하십시오. 내가 너를 도울거야, 행운을 빌어! – Jonny

답변

1

짧은 대답은 '예'입니다. 긴 대답은 나쁘지 않습니다. 이제 우리는이 같은 클래스의 집합 구조 있다고 가정 해 봅시다 :

public class Quiz 
{ 
    public List<Question> Questions { get; set; } 

    public Quiz() { Questions = new List<Question>(); } 
} 

public class Question 
{ 
    public string Question { get; set; } 

    public bool Answer { get; set; } 
} 
이제

의이 UI는 퀴즈 및 시간에 질문의 멋진 컬렉션을 구축 생각한 것은 예, 참 또는 거짓에 대한 답을 설정하거나 더 당신을 가지고 있고, 결국에는 저장해야합니다.

File.WriteAllText(path, JsonConvert.SerializeObject(quiz)); 

이렇게하면 전체 퀴즈와 질문이 JSON 형식의 파일 경로로 저장됩니다.

이제 다시로드해야합니다.

File.WriteAllText(path, JsonConvert.SerializeObject(quiz)); 

참고 : 명확하게 (또는해야 업데이트가 (즉, 응답 변경) 객체에 적용된 후

var quiz = JsonConvert.DeserializeObject<Quiz>(File.ReadAllText(path)); 

다시이 작업을 실행할 수 있습니다 내가 JSON을 사용하는 이유는 분명히) 각 퀴즈에는 자체 파일이 필요합니다.

참고 :NuGet Visual Studio Extension과 함께 설치해야합니다.

관련 문제