Với các nhà điều hành ternary, nó có thể làm điều gì đó giống như Func1 sau (giả sử() và Func2() trả về một int:khai thác ternary trong C#
int x = (x == y) ? Func1() : Func2();
Tuy nhiên, có cách nào để làm điều tương tự, mà không trả lại một giá trị Ví dụ, một cái gì đó tương tự (giả sử Func1() và Func2() return void):
(x == y) ? Func1() : Func2();
tôi nhận ra điều này có thể được thực hiện bằng một câu lệnh if, tôi chỉ tự hỏi nếu có một cách để làm như thế này.
Xin lỗi để nitpick, nhưng tên thích hợp là toán tử có điều kiện http://msdn.microsoft.com/en-us/library/aa691313(VS.71).aspx –
@Brian: Trong cùng một bài viết, "Nó đôi khi cũng được gọi là toán tử bậc ba ". Vì vậy, thực sự, cả hai đều được sử dụng. –
@Nelson - trong thời trang ký hiệu tổng hợp cũng có thể được gọi là toán tử nhị phân và toán tử tăng dần cũng có thể được gọi là toán tử đơn nguyên? Có ... nhưng nó vẫn không phải là một cách chính xác để đặt tên cho nó, mặc dù thường là nhà điều hành ternary duy nhất được biết đến. (Có câu hỏi hay hơn không.) – ANeves