Vấn đề ở đây là bạn đã xác định phương thức ẩn danh trả về số string
nhưng đang cố gắng gán trực tiếp cho số string
. Đó là một biểu thức mà khi được gọi tạo ra string
nó không trực tiếp là string
. Nó cần phải được gán cho một loại đại biểu tương thích. Trong trường hợp này sự lựa chọn đơn giản nhất là Func<string>
Func<string> temp =() => {return "test";};
Điều này có thể được thực hiện trong một dòng bằng một chút đúc hoặc sử dụng các nhà xây dựng đại biểu để thành lập các loại hình lambda tiếp theo là một sự thỉnh nguyện.
string temp = ((Func<string>)(() => { return "test"; }))();
string temp = new Func<string>(() => { return "test"; })();
Lưu ý: Cả hai mẫu có thể thiếu để các hình thức biểu hiện mà thiếu { return ... }
Func<string> temp =() => "test";
string temp = ((Func<string>)(() => "test"))();
string temp = new Func<string>(() => "test")();
Cảm ơn. Vì vậy, không có cách nào để làm mọi thứ trên một dòng (bao gồm cả việc gán chuỗi)? Giá trị tôi muốn ("thử nghiệm", mà thực sự là một biến trong cuộc sống thực) là bên trong một lambda vì vậy tôi phạm vi lỏng lẻo nếu tôi cố gắng để xác định như bạn có ở trên. – 4thSpace
@ 4thSpace nó có thể được thực hiện trong một dòng với một số đúc ác. Tôi đã cập nhật câu trả lời của mình để hiển thị cách – JaredPar
Hoặc trong trường hợp này, chỉ cần 'Func temp =() =>" test ";'. –
Gabe