2010-06-01 37 views
6

Tôi mới vào C# và cần giúp đỡ để hiểu những gì đang diễn ra trong hàm sauC# thông số câu hỏi

public bool parse(String s) 
    { 
     table.Clear(); 
     return parse(s, table, null); 
    } 

nơi bảng là một từ điển. Tôi có thể thấy đó là đệ quy nhưng làm thế nào là phân tích cú pháp được thông qua ba params khi nó được định nghĩa để chỉ mất một chuỗi?

CHỈNH SỬA: làm cách nào để xóa câu hỏi? phân tích cú pháp đã bị quá tải facepalm

+4

Có một phương thức 'phân tích cú pháp' khác lấy 3 tham số. Nếu bạn đang ở trong Visual Studio, nhấp chuột phải vào nó và chọn "Đi đến định nghĩa" –

+1

Không cần phải xóa câu hỏi. Bạn nên chấp nhận một trong các câu trả lời dưới đây để ghi chú rằng nó bị quá tải vì đó là câu trả lời đúng cho câu hỏi. –

+0

+1 để bù đắp downvoter; vì quá tải là một mục hoàn toàn hợp pháp bị nhầm lẫn về – JYelton

Trả lời

7

nó bị quá tải parse tồn tại chấp nhận 3 đối số.

0

Có một định nghĩa khác trong mã của bạn có phương thức phân tích cú pháp chấp nhận ba tham số. Nhấp chuột phải vào "phân tích" trên dòng với sự trở lại và chọn "Đi đến định nghĩa" trong studio trực quan để tìm thấy nó.

3

Không, nó không phải đệ quy.

Đó là một chức năng hoàn toàn khác.

Trong C# và C++, các chức năng khác nhau có thể có cùng tên. Điều này được gọi là 'quá tải'

0

Quá tải phương thức trong lớp dựa trên Ngôn ngữ hướng đối tượng là một công cụ rất hữu ích. Các phương thức giống như các hàm (chúng có các tham số, chúng trả về một giá trị trừ khi chúng bị vô hiệu và chúng làm một số thứ), nhưng chúng là một phần của một lớp (nếu chúng là tĩnh) hoặc một đối tượng. Một phương thức được xác định bằng một chữ ký phương thức. Nếu bạn định nghĩa hai phương thức có cùng tên cho một lớp hoặc các đối tượng của lớp, nhưng danh sách tham số khác nhau, chúng trở thành hai phương thức khác nhau, có cùng tên.

Lợi ích: 1.) Nếu một số phương pháp về cơ bản giống nhau, bạn sẽ biết ngay từ đầu, vì bạn cung cấp cho chính xác cùng một tên. 2.) Bạn có thể sử dụng quá tải để giải quyết nhiều vấn đề theo một cách đơn giản, rất khó quản lý theo các ngôn ngữ như C.

Đệ quy sẽ xảy ra nếu bạn gọi là phân tích cú pháp ("foo") ở đó, cùng chức năng.

0

Chức năng phân tích cú pháp đang quá tải. Trong quá tải chức năng tương tự có thể làm công việc khác nhau phụ thuộc vào tham số.

Phương thức phân tích cú pháp thứ hai ngoại trừ 3 đối số.