C# sql和linq之间有什么区别吗

C# sql和linq之间有什么区别吗,c#,linq,C#,Linq,我有一张单子。我想要一个片段的int[] 我尝试这样做,但这会创建一个匿名类型[] PiecesTop1 = new List<Piece>(); var test = PiecesTop1.Select(x => new {x.PieceID}).ToArray(); 我通常使用第一个轴,所以不熟悉第二个轴 第一个问题:如何使第一个sql返回int[] 第二个问题:如何调用这些sql查询类型来区分它们 我应该使用什么sintaxis(以防我不使用任何数据库)有什么不同吗

我有一张单子。我想要一个片段的int[]

我尝试这样做,但这会创建一个匿名类型[]

PiecesTop1 = new List<Piece>();

var test = PiecesTop1.Select(x => new {x.PieceID}).ToArray();
我通常使用第一个轴,所以不熟悉第二个轴

  • 第一个问题:如何使第一个sql返回int[]

  • 第二个问题:如何调用这些sql查询类型来区分它们

  • 我应该使用什么sintaxis(以防我不使用任何数据库)有什么不同吗


要返回
int[]
而不是匿名类型数组,请使用
var test=PiecesTop1.选择(x=>x.PieceID).ToArray()@Habib谢谢你的评论。但是,即使当LINQ中的查询表达式和方法表达式之间的差异解决问题2和问题3时,我的主要问题是关于返回的select。我试图在我的评论中回答这个问题,我确信在Stackoverflow上也有重复的问题,但我现在找不到。@Habib是的,你的回答很好。我只是觉得不好,把我的问题改成次要问题。但别担心问题已经解决了。这并不能回答所有的问题。@CriketerOnSO没问题,这是第一个问题的答案。另外两个我有一个重复的问题链接
var lstPieceID = from p in PiecesTop1
                 select p.PieceID;

int[] arrPieceID = lstPieceID.ToArray();
int i = arrPieceID[0];
var test = PiecesTop1.Select(x => x.PieceID).ToArray();