2010-08-24 19 views
0

我想在控制檯應用程序中創建一個用戶數組,但似乎無法正確使用,任何人都可以請幫助,這裏是我的代碼。控制檯應用程序中的對象數組

class Program 
{ 
    static void InputUser(User U) 
    {   
     Console.WriteLine("Please enter a User:"); 
     Console.WriteLine("User ID:"); 
     U.ID = int.Parse(Console.ReadLine()); 
     Console.WriteLine("Titel:"); 
     U.Titel = Console.ReadLine(); 
     Console.WriteLine("Name:"); 
     U.Name = Console.ReadLine(); 
     Console.WriteLine("Surname:"); 
     U.Surname = Console.ReadLine(); 
     Console.WriteLine("Telephone Number:"); 
     U.Telephone = int.Parse(Console.ReadLine()); 
     Console.WriteLine(); 
    } 

    static void Main() 
    { 
     User[] users = new User[2] 
     { 
      InputUser(new User); 
     }   
    }      
} 
+0

改變InputUser來代替返回一個新用戶,然後簡單地將它添加到arrayy – w69rdy 2010-08-24 12:53:27

回答

1

更改爲類似:

所以後添加一個循環這樣

static void Main() 
    { 
     User[] users = new User[2]; 

     for (int i=0;i<users.Length; i++) 
     { 
      users[i] = new User(); 
      InputUser(users[i]); 
     }    
    } 
+0

謝謝,這工作! – CSharpSuzie 2010-08-24 13:11:53

0
User[] users = new User[2] 

將剛剛創建用戶的數組,但它不初始化。

對於他們每個人你需要創建一個用戶。你的主要方法

 for (int i=0;i<users.Length; i++) 
     { 
      users[i] = InputUser(users[i]); 
     } 
2

首先,改變InputUser方法返回將要構建的User對象使用用戶的輸入:

static User InputUser() 
{   
    User U = new User(); 
    Console.WriteLine("Please enter a User:"); 
    Console.WriteLine("User ID:"); 
    U.ID = int.Parse(Console.ReadLine()); 
    Console.WriteLine("Titel:"); 
    U.Titel = Console.ReadLine(); 
    Console.WriteLine("Name:"); 
    U.Name = Console.ReadLine(); 
    Console.WriteLine("Surname:"); 
    U.Surname = Console.ReadLine(); 
    Console.WriteLine("Telephone Number:"); 
    U.Telephone = int.Parse(Console.ReadLine()); 
    Console.WriteLine(); 
    return U; 
} 

然後c所有InputUser方法兩次,因爲你初始化User對象的數組具有2大小:

static void Main() 
{ 
    User[] users = new User[2] 
    { 
     InputUser(), 
     InputUser() 
    }   
} 
0

InputUser需要通過引用(ref關鍵字)來傳遞用戶對象或它需要返回一個新的用戶的實例而不是接受參數。

相關問題