Tôi đang sử dụng LINQ
để chọn đối tượng twoWords
mới thành List
đối tượng này và đặt giá trị bằng cách gọi hàm/phương pháp.LINQ chọn đối tượng mới, thiết lập giá trị của đối tượng trong hàm
Hãy xem điều này có hợp lý không, tôi đã đơn giản hóa nó rất nhiều. Tôi thực sự muốn sử dụng các câu lệnh linq from
select
.
Chức năng đầu tiên trong GOGO
sẽ làm việc, điều thứ hai thất bại (họ không thực hiện nhiệm vụ tương tự mặc dù)
// simple class containing two strings, and a function to set the values
public class twoWords
{
public string word1 { get; set; }
public string word2 { get; set; }
public void setvalues(string words)
{
word1 = words.Substring(0,4);
word2 = words.Substring(5,4);
}
}
public class GOGO
{
public void ofCourseThisWillWorks()
{
//this is just to show that the setvalues function is working
twoWords twoWords = new twoWords();
twoWords.setvalues("word1 word2");
//tada. object twoWords is populated
}
public void thisdoesntwork()
{
//set up the test data to work with
List<string> stringlist = new List<string>();
stringlist.Add("word1 word2");
stringlist.Add("word3 word4");
//end setting up
//we want a list of class twoWords, contain two strings :
//word1 and word2. but i do not know how to call the setvalues function.
List<twoWords> twoWords = (from words in stringlist
select new twoWords().setvalues(words)).ToList();
}
}
Chức năng thứ hai của GOGO
sẽ gây ra một lỗi:
Các loại biểu thức trong mệnh đề chọn không chính xác. Không thể nhập suy luận trong cuộc gọi đến 'Chọn'.
Câu hỏi của tôi là, làm thế nào để chọn đối tượng mới twoWords
trong from
khoản trên, trong khi thiết lập các giá trị bằng cách sử dụng chức năng setvalues
?
Là một sang một bên, nó * thực sự * giúp dễ đọc nếu bạn tuân theo quy ước đặt tên .NET ngay cả đối với mã mẫu đơn giản . –