programing

Linkq 다른 개체에 특정 속성을 선택하시겠습니까?

lastcode 2023. 5. 12. 22:19
반응형

Linkq 다른 개체에 특정 속성을 선택하시겠습니까?

그래서 제가 블롭스 컬렉션을 가지고 있다고 해주세요.

Class Bloop
  Public FirstName
  Public LastName
  Public Address
  Public Number
  Public OtherStuff
End Class

그리고 난 레이지 수업이 있어요

Class Razzie
  Public FirstName
  Public LastName
End Class

Linq를 사용하여 Bloops 컬렉션에 있는 모든 Bloops 중에서 First Name과 Last Name을 선택하고 Razzies 컬렉션을 반환하는 것이 가능합니까?아니면 For-Loop으로 제한되어 업무를 수행할 수 있습니까?

혼동을 해결하려면 VB 또는 C# 중 하나를 사용하면 됩니다.또한 이것은 아마도 제가 ("어디" 조항을 사용하는 것은 어떨까요?)라는 질문을 하게 될 것입니다.

List<Bloop> myBloops = new List<Bloops>;
//populate myRazzies
List<Razzie> myRazzies = myBloops.Select(x => new Razzie() { FirstName = x.FirstName, LastName = x.LastName}).ToList();

이 작업을 수행해야 합니다.

Dim results = From item In bloops _
              Select New Razzie() With _
              { _
                  .FirstName = item.FirstName, _
                  .LastName = item.LastName _
              }

그리고 만약 당신이 결과를 변환하고 싶다면.IEnumerable<Bloop>(LINQ 쿼리가 반환하는 내용) 배열 또는List<Bloop>호출을 에 추가하기만 하면 됩니다.ToArray()또는ToList()각각의 확장 방법.

편집: 코드를 수정하여 유효한 VB를 갖게 합니다.NET 9 구문.

public void Linq9()
{
    string[] words = { "aPPLE", "BlUeBeRrY", "cHeRry" };

    var upperLowerWords =
        from w in words
        select new { Upper = w.ToUpper(), Lower = w.ToLower() };

    foreach (var ul in upperLowerWords)
    {
        Console.WriteLine("Uppercase: {0}, Lowercase: {1}", ul.Upper, ul.Lower);
    }
}

Enumerable을 사용하여 한 유형에서 다른 유형으로 변환할 수 있습니다.선택

실제로 101개의 linq 샘플에서 int를 문자열로 변환하는 쿼리를 보여주는 샘플이 있습니다.

        C# Sample - Thanks to earlier posters.

        List<clsObj> myList = new List<clsObj>();
        clsObj clsObjInstance = null;
        for (int i = 0; i < 10; i++)
        {
            clsObjInstance = new clsObj() { x = (i+1) % 3, a = "A" + i.ToString() };
            myList.Add(clsObjInstance);
        }

        List<int> extIntList = myList.Select(u => u.x).ToList();
        foreach (int u in extIntList)
            Console.Write(u.ToString() + "\t");

        List<string> extStringList = myList.Select(u => u.a).ToList();
        foreach (string u in extStringList)
            Console.Write(u + "\t");

언급URL : https://stackoverflow.com/questions/923238/linq-select-certain-properties-into-another-object

반응형