この現在のプロジェクトは、より大きなプロジェクトの概念実証に近いものです。同一の列構造を持つ 2 つの「テーブル」(以下のリストとして表される)CatList
とがあります。を使用して、結果セットに対してクエリを実行できるようDogList
にしたいと考えています。実践することでこのような成果が得られるとのことでした。Concat
Union
LINQ
interfaces
これが私がこれまでに持っているものです:
static void Main(string[] args)
{
System.Console.Write("Hello World\n");
Dog Dog1 = new Dog { name = "A", age = 1 };
Dog Dog2 = new Dog { name = "B", age = 2 };
Cat Cat1 = new Cat { name = "C", age = 3 };
Cat Cat2 = new Cat { name = "D", age = 4 };
List<Dog> DogList = new List<Dog>();
List<Cat> CatList = new List<Cat>();
DogList.Add(Dog1);
DogList.Add(Dog2);
CatList.Add(Cat1);
CatList.Add(Cat2);
var result = DogList
.Concat(CatList);
}
}
public interface iAnimal
{
string name { get; set; }
int age { get; set; }
}
public class Dog :iAnimal
{
public string name { get; set; }
public int age { get; set; }
}
public class Cat:iAnimal
{
public string name { get; set; }
public int age { get; set; }
}
のようなものを使用して、作成したオブジェクトのデータ メンバーにアクセスできるSystem.Console.Write(Dog1.name);
ので、インターフェイスの実装は正しいと思います。リストを効果的に連結/結合するために、LINQ ステートメントで何を変更する必要がありますか。
私はC#
一般的にオブジェクト指向プログラミングにかなり慣れていないので、私の知識レベルに合わせて回答を調整してください。
ありがとう
EDIT 現在のコードに表示されるエラー メッセージを含めるのを忘れていたため、お詫び申し上げます。
Error 1 'System.Collections.Generic.List<InterfaceTest.Dog>' does not contain a definition for 'Concat' and the best extension method overload 'System.Linq.ParallelEnumerable.Concat<TSource>(System.Linq.ParallelQuery<TSource>, System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments
Error 2 Instance argument: cannot convert from 'System.Collections.Generic.List<InterfaceTest.Dog>' to 'System.Linq.ParallelQuery<InterfaceTest.Cat>'