タグ付けされた質問 「linq」

言語統合クエリ(LINQ)は、.NET言語にネイティブデータクエリ機能を追加するMicrosoft .NET Frameworkコンポーネントです。[linq-to-sql]、[linq-to-entities] / [entity-framework]、[plinq]など、必要に応じてより詳細なタグの使用を検討してください


22
LINQの左外部結合
join-on-equals-into句を使用せずにC#LINQでオブジェクトに左外部結合を実行する方法 where句でそれを行う方法はありますか?正しい問題:内部結合は簡単で、このような解決策があります List<JoinPair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key select new JoinPair { LeftId = l.Id, RightId = r.Id}) しかし、左外部結合には解決策が必要です。鉱山はこのようなものですが、機能していません List< JoinPair> leftFinal = (from l in lefts from r in rights select new JoinPair { LeftId = l.Id, RightId = ((l.Key==r.Key) …
539 c#  linq  join 

10
LINQを使用して、あるList <>にあるが、別のList <>にないアイテムを取得する
これを行う簡単なLINQクエリがあると思いますが、その方法が正確にわかりません。 このコードを考えると: class Program { static void Main(string[] args) { List&lt;Person&gt; peopleList1 = new List&lt;Person&gt;(); peopleList1.Add(new Person() { ID = 1 }); peopleList1.Add(new Person() { ID = 2 }); peopleList1.Add(new Person() { ID = 3 }); List&lt;Person&gt; peopleList2 = new List&lt;Person&gt;(); peopleList2.Add(new Person() { ID = 1 }); peopleList2.Add(new Person() …
526 c#  linq  .net-3.5 

16
LINQクエリでToList()またはToArray()を呼び出す方が良いですか?
宣言した場所でクエリを正しく評価したい場合がよくあります。私はその上に複数回反復する必要があるので、これは通常と、計算が高価です。例えば: string raw = "..."; var lines = (from l in raw.Split('\n') let ll = l.Trim() where !string.IsNullOrEmpty(ll) select ll).ToList(); これは正常に動作します。しかし、結果を変更しない場合は、ToArray()ではなくをこともできToList()ます。 ただし、はToArray()最初の呼び出しによって実装されるToList()ので、単にを呼び出すよりもメモリ効率が悪いのではないかと思いToList()ます。 私は狂っていますか?私はちょうど呼び出す必要がありToArray()、安全でメモリが二回割り当てられないだろうという知識で安全な- ?
519 .net  linq  performance 

21
ラムダ式からプロパティ名を取得する
ラムダ式を介して渡されたときにプロパティ名を取得するより良い方法はありますか?これが私が現在持っているものです。 例えば。 GetSortingInfo&lt;User&gt;(u =&gt; u.UserId); プロパティが文字列の場合にのみ、それをメンバー式としてキャストすることで機能しました。すべてのプロパティが文字列であるとは限らないため、オブジェクトを使用する必要がありましたが、それらはそれらの単項式を返します。 public static RouteValueDictionary GetInfo&lt;T&gt;(this HtmlHelper html, Expression&lt;Func&lt;T, object&gt;&gt; action) where T : class { var expression = GetMemberInfo(action); string name = expression.Member.Name; return GetInfo(html, name); } private static MemberExpression GetMemberInfo(Expression method) { LambdaExpression lambda = method as LambdaExpression; if (lambda == null) throw new …

15
LINQ:フィルタリング基準でSingleOrDefaultとFirstOrDefault()を使用する場合
IEnumerable拡張メソッドSingleOrDefault()とFirstOrDefault() MSDNのドキュメントSingleOrDefault: シーケンスの唯一の要素、またはシーケンスが空の場合はデフォルト値を返します。シーケンスに複数の要素がある場合、このメソッドは例外をスローします。 一方FirstOrDefault、MSDNから(おそらく、OrderBy()または、OrderByDescending()またはまったく使用しない 場合)、 シーケンスの最初の要素を返します いくつかのクエリ例を検討してください。これら2つのメソッドをいつ使用するかは必ずしも明確ではありません。 var someCust = db.Customers .SingleOrDefault(c=&gt;c.ID == 5); //unlikely(?) to be more than one, but technically COULD BE var bobbyCust = db.Customers .FirstOrDefault(c=&gt;c.FirstName == "Bobby"); //clearly could be one or many, so use First? var latestCust = db.Customers .OrderByDescending(x=&gt; x.CreatedOn) .FirstOrDefault();//Single or First, or …
506 .net  linq  linq-to-sql 

16
LINQを使用してコレクション内のすべてのオブジェクトを更新する
LINQを使用して以下を実行する方法はありますか? foreach (var c in collection) { c.PropertyToSet = value; } 明確にするために、コレクション内の各オブジェクトを反復処理してから、各オブジェクトのプロパティを更新したいと思います。 私のユースケースは、ブログ投稿に大量のコメントがあり、ブログ投稿の各コメントを反復処理し、ブログ投稿の日時を+10時間に設定することです。私はSQLでそれを行うことができましたが、ビジネス層でそれを保ちたいです。
500 c#  .net  linq  foreach 

12
LINQを使用して最小または最大のプロパティ値を持つオブジェクトを選択する方法
Nullable DateOfBirthプロパティを持つPersonオブジェクトがあります。LINQを使用して、Personオブジェクトのリストをクエリし、DateOfBirthの値が最も早い/最も小さいものを探します。 これが私が始めたものです: var firstBornDate = People.Min(p =&gt; p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue)); Null DateOfBirth値は、Minの考慮事項から除外するためにDateTime.MaxValueに設定されます(少なくとも1つに指定されたDOBがあると想定)。 しかし、私にとっては、firstBornDateをDateTime値に設定するだけです。取得したいのは、それに一致するPersonオブジェクトです。次のような2番目のクエリを作成する必要がありますか? var firstBorn = People.Single(p=&gt; (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate); それとも、より無駄のない方法がありますか?
466 c#  .net  linq 

9
LINQとLambdaに参加する
LINQとLambdaで書かれたクエリに問題があります。これまでのところ、多くのエラーが発生しています。ここに私のコードがあります。 int id = 1; var query = database.Posts.Join(database.Post_Metas, post =&gt; database.Posts.Where(x =&gt; x.ID == id), meta =&gt; database.Post_Metas.Where(x =&gt; x.Post_ID == id), (post, meta) =&gt; new { Post = post, Meta = meta }); 私はLINQを初めて使用するので、このクエリが正しいかどうかはわかりません。
458 c#  linq  join  lambda 

4
LINQ Orderby降順クエリ
これは比較的簡単なものになると思います。 最近作成した日付で並べ替えたいLINQクエリがあります。 見る: var itemList = from t in ctn.Items where !t.Items &amp;&amp; t.DeliverySelection orderby t.Delivery.SubmissionDate descending select t; 私も試しました: var itemList = (from t in ctn.Items where !t.Items &amp;&amp; t.DeliverySelection select t).OrderByDescending(); しかし、これはエラーになります: メソッド 'OrderByDescending'のオーバーロードは引数を取らない 私が読んだことから、私がそれを実行した最初の方法が機能するはずだとかなり確信しています。降順を昇順に変更して、何もするかどうかを確認しましたが、同じままです。 誰かがクエリを見て、私が何か間違ったことをしていないかどうかを見ていただければ幸いです。ありがとう:)
439 c#  linq  sql-order-by 


6
LINQ .Any VS .Exists-違いは何ですか?
コレクションでLINQを使用して、次のコード行の違いは何ですか? if(!coll.Any(i =&gt; i.Value)) そして if(!coll.Exists(i =&gt; i.Value)) アップデート1 逆アセンブルする.Existsとコードがないように見えます。 アップデート2 誰もがなぜこのコードがないのか知っていますか?
413 c#  linq  collections 

14
LinqでSQL Like%を行う方法は?
Linqに変換しようとしているSQLのプロシージャがあります。 SELECT O.Id, O.Name as Organization FROM Organizations O JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId where OH.Hierarchy like '%/12/%' 私が最も気になる行は次のとおりです。 where OH.Hierarchy like '%/12/%' たとえば、/ 1/3/12 /などの階層を格納する列があるので、%/ 12 /%を使用して検索します。 私の質問は、パーセント記号を使用することに相当するLinqまたは.NETは何ですか?

29
LINQを使用してリストをサブリストに分割する
各分割の区切り文字としてアイテムインデックスを使用して、をのList&lt;SomeObject&gt;いくつかの個別のリストに分割する方法はありますSomeObjectか? 例を挙げましょう。 私は持っています List&lt;SomeObject&gt;私が必要List&lt;List&lt;SomeObject&gt;&gt;またはList&lt;SomeObject&gt;[]これらの得られたリストのそれぞれは、元のリスト(順次)の3つの項目の基を含有するように、。 例えば。: 元のリスト: [a, g, e, w, p, s, q, f, x, y, i, m, c] 結果のリスト: [a, g, e], [w, p, s], [q, f, x], [y, i, m], [c] また、結果のリストのサイズをこの関数のパラメーターにする必要があります。
377 c#  linq  data-structures 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.