2013-05-13 4 views
-4

포함 된 텍스트 파일에서 임의의 줄을 선택하는 방법은 무엇입니까?C# 포함 된 텍스트 파일에서 임의의 줄을 선택 하시겠습니까?

나는 그것이 충돌과 (문자열 [] randFirst = File.ReadAllLines (Separis_Fantasy_Tools_PE.Properties.Resources.fnames))이 줄에서 저에게이 오류 (경로에 잘못된 문자)를 제공하는 프로그램을 실행하면

이를 내가 가진거야.

private void btnRandom_Click(object sender, EventArgs e) 
    { 
     String nFirstName; 
     String nLastName; 

     Random fname = new Random(); 
     Random lname = new Random(); 


      String[] randFirst = File.ReadAllLines(Separis_Fantasy_Tools_PE.Properties.Resources.fnames); 
      nFirstName = randFirst[fname.Next(randFirst.Length)]; 

      String[] randLast = File.ReadAllLines(Separis_Fantasy_Tools_PE.Properties.Resources.lnames); 
      nLastName = randLast[lname.Next(randLast.Length)]; 


     txtCharacterName.Text = nFirstName + " " + nLastName; 
     return; 


    } 
+7

효과가없는 것은 무엇입니까? 그것은 오류를 던지고 있습니까? 나쁜 결과물을 내고 있습니까? –

+0

프로그램을 실행하면 충돌이 발생하고이 오류 (경로의 잘못된 문자)가 표시됩니다.이 줄 (String [] randFirst = File.ReadAllLines (Separis_Fantasy_Tools_PE.Properties.Resources.fnames);) – cpar

+0

그럴 수도 있습니다. 귀하의 질문에 추가 .... 그것 오른쪽 출력 사이에 큰 차이와 폭발 .. –

답변

1

Separis_Fantasy_Tools_PE.Properties.Resources.fnames은 텍스트 파일 자체가 아니라 텍스트 파일입니다.

private void btnRandom_Click(object sender, EventArgs e) 
{ 
    String nFirstName; 
    String nLastName; 

    Random rnd= new Random(); 


    String[] randFirst = Separis_Fantasy_Tools_PE.Properties.Resources.fnames.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
    nFirstName = randFirst[rnd.Next(randFirst.Length)]; 

    String[] randLast = Separis_Fantasy_Tools_PE.Properties.Resources.lnames.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
    nLastName = randLast[rnd.Next(randLast.Length)]; 


    txtCharacterName.Text = nFirstName + " " + nLastName; 
    return; 


} 

또 다른 변화, 당신은 단지 하나를 사용하고 두 번 next 전화, 임의의 두 개체가 필요하지 않습니다. 당신은 아마 그것에 대해 걱정할 필요는 없지만 당신이 코드를 작성한 방식으로 잠재적으로 same random number every time you call your function을 얻을 수 있다는 것을 알고 있어야합니다.

+0

감사합니다 !! 귀하의 조언이 도움을주었습니다. – cpar

+0

이것은 나를 크게 도와 줬다. 좋은 대답. –

관련 문제