2012-03-21 29 views
9

Trong C#, khi xác định một phương pháp công cộng như:Trong phương thức công khai C#, `int` chỉ ra ngoài số nguyên kiểu là gì?

public int myMethod(String someString) 
{ 
    //code 
} 

nào int biểu thị điều gì ngoài những kiểu số nguyên? Điều làm tôi bối rối là phương thức đang sử dụng một String làm đối số trong trường hợp này.

+7

Loại trả lại. – SwDevMan81

+1

Xem [Visual C#] (http://msdn.microsoft.com/en-us/library/kx37x362.aspx) và [Hướng dẫn lập trình C#] (http://msdn.microsoft.com/en-us/library/ 67ef8sbd.aspx) và [Phương thức] (http://msdn.microsoft.com/en-us/library/ms173114.aspx). –

+0

Xin lỗi, đây là câu hỏi của người mới bắt đầu. Tôi đã làm một số nghiên cứu trên Internet trước. Tôi biết về Integer nhưng không phải là nó cho giá trị trả về. Các câu trả lời dưới đây rất hữu ích! Làm thế nào tôi có thể xây dựng nó cho bạn không bỏ phiếu nó xuống? Tôi sẽ luôn tìm trong các liên kết ở trên trước khi đăng câu hỏi trong tương lai. –

Trả lời

8

Đây là kiểu trả về của phương thức. Trong trường hợp này, một số nguyên có ký hiệu 32 bit có phạm vi là

-2,147,483,648 .. +2,147,483,647 

Nó tương ứng với loại .NET System.Int32. int chỉ là một bí danh C# tiện dụng cho nó.

Bạn sẽ trả về một giá trị như thế này

public int Square(int i) 
{ 
    return i * i; 
} 

Và bạn có thể gọi nó như thế này

int sqr = Square(7); // Returns 49 
// Or 
double d = Math.Sin(Square(3)); 

Nếu bạn không cần giá trị trả về, bạn có thể yên tâm bỏ qua nó.

int i; 
Int32.TryParse("123", out i); // We ignore the `bool` return value here. 

Nếu bạn không có giá trị trả lại, bạn sẽ sử dụng từ khóa void thay cho loại. void không phải là một loại thực.

public void PrintSquare(int i) 
{ 
    Console.WriteLine(i * i); 
} 

Và bạn sẽ gọi nó như

PrintSquare(7); 

Phương pháp này trong ví dụ của bạn chấp nhận một string như tham số đầu vào và trả về một int kết quả. Một ví dụ thực tế sẽ là một phương pháp đếm số nguyên âm trong một số string.

public int NumberOfVowels(string s) 
{ 
    const string vowels = "aeiouAEIOU"; 

    int n = 0; 
    for (int i = 0; i < s.Length; i++) { 
     if (vowels.Contains(s[i])) { 
      n++; 
     } 
    } 
    return n; 
} 
+0

Số nguyên đã ký là gì? –

+0

Olivier là chính xác. 'int' được ký bởi vì nó có thể chứa số âm. Ngược lại, 'uint' không được ký, và chỉ có thể giữ số dương. – Diego

+0

Có, 'uint' có phạm vi' 0 .. 4,294,967,295'. –

3

Đây là loại loại của giá trị trả về.

6

Nó là viết tắt của "số nguyên" và có nghĩa là phương thức trả về số nguyên 32 bit, còn được gọi trong C# là Int32.

+0

Và để biết thêm thông tin, xin vui lòng xem bài viết này: http://csharp.net-tutorials.com/basics/functions/ – David

+0

Tôi giả định rằng @arthurmani biết những gì một int đã được nhưng không hiểu về kiểu trả về. –

+0

bạn đúng @DavidHeffernan cảm ơn –

5

Như đã nêu trước đây, đó là phương thức trả về.

Ví dụ:

public string x() 
{ 
return 5; 
} 

có lỗi. 5 chắc chắn không phải là một chuỗi!

public int x() 
{ 
return 5; 
} 

Sẽ chính xác; vì 5 có thể được coi là int (viết tắt của số nguyên, về cơ bản, chỉ là một số không thể có dấu thập phân.Ngoài ra còn của nổi, đôi, dài và số thập phân, đó là giá trị đọc về)

Có phải là không có cách nào nó không trở lại, ví dụ, nếu bạn làm:

public int x() 
{ 
if (false) 
{ 
    return 5; 
} 
} 

Nó sẽ báo lỗi bởi vì nếu biểu thức là sai (Tất nhiên là nó) sẽ không trả về một int, nó sẽ không trả về bất cứ thứ gì.

Nếu bạn sử dụng từ khóa void, điều đó có nghĩa là không phải trả lại bất kỳ thứ gì. Ví dụ:

public void x() 
{ 
someFunction("xyz"); 
} 

Không sao là nó không trả về vì đó là phương pháp void.

Tôi không nghĩ rằng bạn là người mới đến lập trình đánh giá bởi danh tiếng của bạn, nhưng chỉ trong trường hợp, khi bạn quay trở lại một cái gì đó bạn vượt qua nó trở lại từ phương pháp này, ví dụ:

int x; 

public int seven() 
{ 
return 7; 
} 

x = seven(); 

x sẽ trở thành giá trị trả về của hàm seven.

Lưu ý rằng loại 'năng động' làm việc ở đây:

public dynamic x(int x, int y) 
{ 
if (x == y) 
{ 
    return "hello"; 
} 
return 5 
} 

Nhưng nếu bạn là người mới đến C# không để bị cuốn vào gõ động chỉ được nêu ra. :)

1

Mọi người đều là chính xác ở đây nhưng định nghĩa từ MSDN:

"Int32 là một kiểu giá trị bất biến đại diện cho số nguyên ký kết với giá trị dao động từ tiêu cực 2147483648 (được thể hiện bằng hằng số Int32.MinValue) thông qua tích cực 2,147,483,647 (được thể hiện bằng hằng số Int32.MaxValue. .NET Framework cũng bao gồm một 32-bit kiểu giá trị số nguyên unsigned, UInt32, đại diện cho các giá trị mà dao động từ 0 đến 4294967295."

Tìm thấy ở đây trên MSDN: Int32 Structure

Tôi khuyên bạn nên đọc tài liệu được tìm thấy trong liên kết ở trên. Nó cực kỳ hữu ích.

Các vấn đề liên quan