2016-09-19 60 views
-1

我是新的C#和我有這個小程序中的問題 我想返回方法ClientsDetails中輸入的信息在方法Print()中使用它們。 任何幫助PLZ?如何調用一個方法,需要在C#中的多個參數

public static void Main(string[] args) 
    { 

     ClientsDetails(); 

     Print(???,???,???); 

     Console.ReadLine(); 


    } 

    public static void ClientsDetails() 
    { 
     Console.Write("Client's first name: "); 
     string firstName = Console.ReadLine(); 
     Console.Write("Client's last name: "); 
     string lastName = Console.ReadLine(); 
     Console.Write("Client's birthdate: "); 
     string birthday = Console.ReadLine(); 
    } 

    public static void Print(string first, string last, string birthday) 
    { 
     Console.WriteLine("Client : {0} {1} was born on: {2}", first, last, Birthday); 
    } 
} 
+2

你可以多學習首先關於C#,它看起來像一個家庭作業r而不是一個特定的問題。 – Prisoner

+1

您看起來像是閱讀課堂資料以及[Ask]或[faq] – Plutonix

+0

Hello @Alex,我已經與Bob Tabor合作。感謝您的回覆 – Khalil

回答

-1

還有就是,你可以通過所需參數的方法方式堆,因此,例如簡單的,你可以做這樣的:

String f = "first string"; 
String l = "last string"; 
String b = "birthday string"; 
Print(f,l,b); 

BTW,你的情況看來,你希望用戶的輸入被傳遞給Print方法,所以一個簡單的方法是隻需調用Print方法您ClientsDetails法裏是這樣的:

Print(firstName, lastName, birthday); 

有關這方面的綜合資源,您可以一如既往地參考docs。目前你可以忽略Async Methods部分。

+0

hello @mok,參數是由用戶在方法ClientsDetails()中輸入,我需要在方法Print()中使用的相同參數, – Khalil

+0

@Khalil {Hi}。另一種方式是返回由ClientsDetails方法之外的用戶填充的變量的值,例如,將'out'參數傳遞給方法。 – mok

+0

親愛的@mok,在ClientsDetails()方法中調用Print()方法解決了這個問題,非常感謝你:) – Khalil

0

我剛剛根據您的要求更正了您的程序。

​​3210
+0

你好@Touhid,聲明方法之外的三個參數不是一個選擇,如果允許,我會這樣做,但是不需要在方法ClientsDetails()中聲明它們,然後在調用方法Print()時在主方法中使用它們,謝謝您的回覆。 – Khalil

+0

您無法訪問來自另一個方法的變量直接。所以我向類聲明瞭3個變量,並從ClientsDetails()中分配了這個變量。所以分配的變量可以從任何地方訪問。 – Touhid

+0

我已經提高了這個,因爲我認爲它不應該被投票。你沒有在描述中提到這個要求,所以這是一個有效的答案。現在知道了這個要求,我也給了答覆。 – Jered

1

你可以使用一個結構:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    struct Person{ 
     public static FirstName; 
     public static LastName; 
     public static Birthday; 
    } 
    class Program 
    { 
     static void Main(string[] args) 
     {     
      Person person = ClientsDetails(); 
      Print(person.FirstName, person.LastName, person.Birthday); 
      Console.ReadKey(); 
     } 

     public static Person ClientsDetails() 
     { 
      Person returnValue = new Person(); 
      Console.Write("Client's first name: "); 
      returnValue.FirstName = Console.ReadLine(); 
      Console.Write("Client's last name: "); 
      returnValue.LastName = Console.ReadLine(); 
      Console.Write("Client's birthdate: "); 
      returnValue.Birthday = Console.ReadLine(); 
      return returnValue; 
     } 

     public static void Print(string first, string last, string birthday) 
     { 
      Console.WriteLine(String.Format("Client : {0} {1} was born on: {2}", first, last, birthday)); 
     } 
    } 
} 

或數組:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     {     
      string person = ClientsDetails(); 
      Print(person[0], person[1], person[2]); 
      Console.ReadKey(); 
     } 

     public static string[] ClientsDetails() 
     { 
      string[] returnValue = new string[3]; 
      Console.Write("Client's first name: "); 
      returnValue[0] = Console.ReadLine(); 
      Console.Write("Client's last name: "); 
      returnValue[1] = Console.ReadLine(); 
      Console.Write("Client's birthdate: "); 
      returnValue[3] = Console.ReadLine(); 
      return returnValue; 
     } 

     public static void Print(string first, string last, string birthday) 
     { 
      Console.WriteLine(String.Format("Client : {0} {1} was born on: {2}", first, last, birthday)); 
     } 
    } 
} 

或引用(按引用傳遞):

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     {  
      string firstName, lastName, birthday; 
      ClientsDetails(ref firstName, ref lastName, ref birthday); 
      Print(firstName, lastName, birthday); 
      Console.ReadKey(); 
     } 

     public static void ClientsDetails(ref string firstName, ref string lastName, ref string birthday) 
     { 
      Console.Write("Client's first name: "); 
      firstName = Console.ReadLine(); 
      Console.Write("Client's last name: "); 
      lastName = Console.ReadLine(); 
      Console.Write("Client's birthdate: "); 
      birthday = Console.ReadLine(); 
     } 

     public static void Print(string first, string last, string birthday) 
     { 
      Console.WriteLine(String.Format("Client : {0} {1} was born on: {2}", first, last, birthday)); 
     } 
    } 
} 
+0

親愛的@Jered,非常感謝您提供非常有用的答案。 它會幫助我理解「結構」和「通過引用傳遞」 – Khalil

相關問題