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

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

4
Linqクエリ結果を辞書に変換
Linq to SQLを使用してデータベースにいくつかの行を追加したいが、行を追加する前に「カスタムチェック」を実行して、受信行を追加、置換、または無視する必要があるかどうかを確認したい。クライアントとDBサーバー間のトラフィックをできる限り少なくし、クエリの数を最小限にしたいと考えています。 これを行うには、検証に必要な最小限の情報を、プロセスの最初に一度だけフェッチします。 私はこのようなことをしようと考えていましたが、明らかに、それはうまくいきません。誰かがアイデアを持っていますか? Dictionary<int, DateTime> existingItems = (from ObjType ot in TableObj select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp)) ) 最後に、TableObjectからObjectTypeオブジェクト全体をダウンロードする必要のないディクショナリが必要です。 次のコードも検討しましたが、適切な方法を見つけようとしました。 List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>(); List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>(); Dictionary<int, DateTime> existingItems = …

17
LINQを使用して文字列を連結する
オールドスクールを書くための最も効率的な方法は何ですか: StringBuilder sb = new StringBuilder(); if (strings.Count > 0) { foreach (string s in strings) { sb.Append(s + ", "); } sb.Remove(sb.Length - 2, 2); } return sb.ToString(); ... LINQで?


7
結果が空の場合、LINQは何を返しますか
LINQクエリについて質問があります。通常、クエリはIEnumerable<T>タイプを返します。戻り値が空の場合、nullかどうかは不明です。以下ToList()が例外をスローするかList<string>、IEnumerable結果に何も見つからない場合は空になるかどうかはわかりませんか? List<string> list = {"a"}; // is the result null or something else? IEnumerable<string> ilist = from x in list where x == "ABC" select x; // Or directly to a list, exception thrown? List<string> list1 = (from x in list where x == "ABC" select x).ToList(); 非常に単純な質問であることはわかっていますが、当面はVSを利用できません。
319 c#  linq 

11
Newtonsoft(または多分LINQ to JSON?)を使用してJSON to .NETオブジェクトをデシリアライズする
Newtonsoftに関するいくつかの投稿があることを知っているので、うまくいけば、これは正確には繰り返されません... KazaaのAPIによって返されたJSONデータをある種の素敵なオブジェクトに変換しようとしています WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"); StreamReader reader = new StreamReader(stream); List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); そのJsonConvertラインは、私が試していた最新のものです...私はそれを完全には理解しておらず、皆さんに尋ねることによっていくつかのフットワークを排除することを望んでいました。私はもともとそれをディクショナリまたは何かに変換しようとしていました...そして実際、私はそこにいくつかの値を取得する必要があるので、ドキュメントで判断すると、おそらくNewtonsoftのLINQ to JSONがより良い選択でしょうか?考え/リンク? JSON戻りデータの例を次に示します。 { "page": 1, "total_pages": 8, "total_entries": 74, "q": "muse", "albums": [ { "name": "Muse", "permalink": "Muse", …

5
LINQでのリストのフラット化
返すLINQクエリがありますIEnumerable<List<int>>が、返したいだけなList<int>ので、自分のすべてのレコードをIEnumerable<List<int>>1つの配列だけにマージします。 例: IEnumerable<List<int>> iList = from number in (from no in Method() select no) select number; すべての結果IEnumerable<List<int>>を1つだけにしたいList<int> したがって、ソース配列から:[1,2,3,4]および[5,6,7] アレイが1つだけ欲しい[1,2,3,4,5,6,7] ありがとう
314 c#  linq  list 

11
linqを使用してリストの重複を削除する
のクラスItemsがありproperties (Id, Name, Code, Price)ます。 のリストにItems重複したアイテムが入力されています。 例: 1 Item1 IT00001 $100 2 Item2 IT00002 $200 3 Item3 IT00003 $150 1 Item1 IT00001 $100 3 Item3 IT00003 $150 linqを使用してリスト内の重複を削除する方法は?

16
LINQで「ない」クエリをどのように実行しますか?
Email両方のコレクションにプロパティを持つ2つのコレクションがあります。Email2番目のリストに存在しない最初のリストの項目のリストを取得する必要があります。SQLでは "not in"を使用するだけですが、LINQで同等のものを知りません。それはどのように行われますか? これまでのところ、参加しています... var matches = from item1 in list1 join item2 in list2 on item1.Email equals item2.Email select new { Email = list1.Email }; しかし、違いが必要なので参加できず、参加できません。私は、ContainsまたはExistsを使用するいくつかの方法が必要だと考えています。まだその例を見つけていません。
307 c#  linq 

5
ReSharperが「暗黙的にキャプチャされたクロージャ」を教えてくれるのはなぜですか?
私は次のコードを持っています: public double CalculateDailyProjectPullForceMax(DateTime date, string start = null, string end = null) { Log("Calculating Daily Pull Force Max..."); var pullForceList = start == null ? _pullForce.Where((t, i) => _date[i] == date).ToList() // implicitly captured closure: end, start : _pullForce.Where( (t, i) => _date[i] == date && DateTime.Compare(_time[i], DateTime.Parse(start)) > …
296 c#  linq  resharper 

17
エンティティフレームワーク:このコマンドに関連付けられた開いているDataReaderが既に存在します
Entity Frameworkを使用していますが、このエラーが発生することがあります。 EntityCommandExecutionException {"There is already an open DataReader associated with this Command which must be closed first."} at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands... 手動の接続管理は行っていませんが。 このエラーは断続的に発生します。 エラーをトリガーするコード(読みやすくするために短縮): if (critera.FromDate > x) { t= _tEntitites.T.Where(predicate).ToList(); } else { t= new List<T>(_tEntitites.TA.Where(historicPredicate).ToList()); } 毎回新しい接続を開くためにDisposeパターンを使用します。 using (_tEntitites = new TEntities(GetEntityConnection())) { if (critera.FromDate > x) { t= …


30
LINQの最も難しい、または最も誤解されている側面は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 背景:来月は、について、または少なくともLINQに関連して3つの講演を行いますC#。人々が理解するのが難しいと思うことや、彼らが誤った印象を持っているかもしれないことに基づいて、かなりの注意を払う価値のあるトピックを知りたいのです。私は特にについて話されることはありませんLINQへのSQLクエリが式ツリー(通常は使用してリモートで実行することができる方法の例として以外またはEntity FrameworkのIQueryable)を。 それで、あなたは何が難しいと思いましたLINQか?誤解に関してあなたは何を見ましたか?例は次のいずれかですが、自分を制限しないでください! どのようにC#コンパイラの扱いクエリ表現 ラムダ式 式の木 拡張メソッド 匿名型 IQueryable 遅延実行と即時実行 ストリーミングとバッファリングされた実行(たとえば、OrderByは据え置かれますが、バッファリングされます) 暗黙的に型付けされたローカル変数 複雑な一般的な署名の読み取り(例:Enumerable.Join)
282 c#  linq  c#-3.0 


12
オブジェクトへのLambda / Linqを使用したリストの並べ替え
文字列に「プロパティで並べ替え」の名前があります。オブジェクトのリストを並べ替えるには、Lambda / Linqを使用する必要があります。 例: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List<Employee> list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if (sortBy == "FirstName") { list …

6
LINQを使用して、1行のコードでstring []をint []に変換します
文字列形式の整数の配列があります: var arr = new string[] { "1", "2", "3", "4" }; さらにプッシュするには、「実際の」整数の配列が必要です。 void Foo(int[] arr) { .. } 私はintをキャストしようとしましたが、もちろん失敗しました: Foo(arr.Cast<int>.ToArray()); 次にできること: var list = new List<int>(arr.Length); arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better? Foo(list.ToArray()); または var list = new List<int>(arr.Length); arr.ForEach(i => { int j; if (Int32.TryParse(i, out …

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