タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。

4
Roslynはコードのコンパイルに失敗しました
プロジェクトをVS2013からVS2015に移行した後、プロジェクトはビルドされなくなりました。次のLINQステートメントでコンパイルエラーが発生します。 static void Main(string[] args) { decimal a, b; IEnumerable<dynamic> array = new string[] { "10", "20", "30" }; var result = (from v in array where decimal.TryParse(v, out a) && decimal.TryParse("15", out b) && a <= b // Error here orderby decimal.Parse(v) select v).ToArray(); } コンパイラはエラーを返します: エラーCS0165未割り当てのローカル変数 'b'の使用 この問題の原因は何ですか?コンパイラの設定で修正できますか?
95 c#  .net  linq  roslyn 


4
LINQ Distinctオペレーター、大文字小文字を無視しますか?
次の簡単な例を考えてみましょう: List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" }; CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer(); var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList(); CaseInsensitiveComparerは、実際には大文字と小文字を区別しない比較を行うために使用されていないようです。 つまり、distinctList にはlistと同じ数の項目が含まれています。代わりに、たとえば「3」と「3」は等しいと見なされます。 何か不足していますか、それともDistinctオペレーターの問題ですか?

3
WinFormsデザイナーにコントロール階層を表示する
クライアントの1つに、多数のコントロールを持つフォームを含む古いWinFormsアプリケーションがあります。これらのコントロールのいくつかは深い階層を持っているため、デザイナーでコントロールを選択するのが困難になります。 いくつかのバグを修正するためにアプリケーションに変更を加えるには、この階層を理解する必要があります。この階層を明確に見る方法はありますか?たとえば、HTML階層のどこにあるか(HTML> Body> div>など)のブレッドクラムがあるときに、.aspxソースファイルに表示されるものと同様のものが利用可能ですか?それとももっと視覚的なものですか?

10
StopWatchのタイミングをデリゲートまたはラムダでラップしていますか?
私はこのようなコードを書いていて、少し速くて汚いタイミングをとっています: var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 1000; i++) { b = DoStuff(s); } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); 確かに、タイミングコードのこのビットを(神は禁じる)数回カットアンドペーストしてに置き換えるのDoStuff(s)ではなく、派手な.NET 3.0ラムダとして呼び出す方法がありDoSomethingElse(s)ます。 私はそれができることを知っていますがDelegate、ラムダの方法について疑問に思っています。
95 c#  .net  delegates  lambda 


9
ローダーロックエラー
C#でコードを記述して、C ++ dllを構築しています。 私はエラーを出して言った LoaderLockが検出されましたメッセージ:OSローダーロック内で管理された実行を試みています。DllMainまたはイメージ初期化関数内でマネージコードを実行しようとしないでください。実行すると、アプリケーションがハングする可能性があります。 私はこのエラーが正確に何を意味するかを調べてみましたが、私は無意味な記事を描いています。ほとんどの場合それは単なる警告であり、Visual Studioでそれをオフにする必要があります。他の解決策は、iTunesまたはDirectXでプログラミングするときに発生するこの問題が原因であるようです。私の問題はどちらにも関係していません。 誰かが説明できますか、これは実際にはどういう意味ですか?
95 c#  loaderlock 

3
HttpClientでawaitを使用した非同期呼び出しが返されない
C#Win8 CPのxaml ベースのMetroアプリケーションの内部から電話をかけています。この呼び出しは単にWebサービスをヒットし、JSONデータを返します。 HttpMessageHandler handler = new HttpClientHandler(); HttpClient httpClient = new HttpClient(handler); httpClient.BaseAddress = new Uri("http://192.168.1.101/api/"); var result = await httpClient.GetStreamAsync("weeklyplan"); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(WeeklyPlanData[])); return (WeeklyPlanData[])ser.ReadObject(result); これはでハングしますawaitが、http呼び出しは実際にはほとんどすぐに戻ります(フィドラーで確認)。これはawait無視されたかのようにハングアップするだけです。 質問する前に -はい-プライベートネットワーク機能がオンになっています。 これがハングする理由はありますか?

4
キャッチ付きのtryブロック内にreturnが表示されないのはなぜですか?
以下は大丈夫です: try { Console.WriteLine("Before"); yield return 1; Console.WriteLine("After"); } finally { Console.WriteLine("Done"); } finallyブロックは、全部の実行が終了したとき(実行さIEnumerator<T>担体はIDisposable、それが終了する前に、列挙が放棄された場合でも、これを確実にするための方法を提供します)。 しかし、これは大丈夫ではありません: try { Console.WriteLine("Before"); yield return 1; // error CS1626: Cannot yield a value in the body of a try block with a catch clause Console.WriteLine("After"); } catch (Exception e) { Console.WriteLine(e.Message); } (議論のために)WriteLinetryブロック内の呼び出しのいずれかによって例外がスローされたと仮定します。catchブロックで実行を続けることの問題は何ですか? もちろん、yield return部分は(現在のところ)何もスローすることができませんが、なぜそれが原因で、try/のcatch前または後にスローされた例外を処理するための囲み/ …

6
LINQ Max()を使用して単一の行を選択する
NHibernateから返されたIQueryableでLINQを使用しており、いくつかのフィールドで最大値を持つ行を選択する必要があります。 固執している部分を簡略化しました。テーブルから1つのフィールドの最大値を持つ1つの行を選択する必要があります。 var table = new Table { new Row(id: 1, status: 10), new Row(id: 2, status: 20) } from u in table group u by 1 into g where u.Status == g.Max(u => u.Status) select u これは正しくありませんが、正しいフォームを見つけることができません。 ところで、私が実際に達成しようとしているのはおおよそこれです: var clientAddress = this.repository.GetAll() .GroupBy(a => a) .SelectMany( g => g.Where( …
95 c#  .net  linq 

7
TimeSpan ToString形式
気になるのは、「5h 3m 30s」のような出力に使用できるフォーマット文字列はありますか? 例えば。(明らかに間違っています) myTimeSpan.ToString("hh mm ss")
95 c#  .net 

12
asp.net mvcのJsonResultを介して返されたExpandoObjectをフラット化する方法は?
ExpandoObject実行時にサーバー側の動的オブジェクトをコンパイルしている間は本当に気に入っていますが、JSONのシリアル化中にこれをフラット化するのに問題があります。まず、オブジェクトをインスタンス化します。 dynamic expando = new ExpandoObject(); var d = expando as IDictionary<string, object>; expando.Add("SomeProp", SomeValueOrClass); ここまでは順調ですね。私のMVCコントローラーでは、これをJsonResultとして送信したいので、次のようにします。 return new JsonResult(expando); これにより、JSONが以下のようにシリアル化され、ブラウザーで使用されます。 [{"Key":"SomeProp", "Value": SomeValueOrClass}] しかし、私が本当に望んでいるのはこれを見ることです: {SomeProp: SomeValueOrClass} dynamic代わりに使用すると、これを達成できることを知っていますExpandoObject- プロパティと値を単一のオブジェクトJsonResultにシリアル化できdynamicます(KeyまたはValueビジネスはありません)が、使用する必要がある理由ExpandoObjectは、実行時までオブジェクトに必要なプロパティ、および私の知る限り、dynamicを使用しないとプロパティをに動的に追加できませんExpandoObject。 私はJavaScriptで「キー」、「バリュー」ビジネスをふるいにかける必要があるかもしれませんが、クライアントに送信する前にこれを理解することを望んでいました。ご協力いただきありがとうございます!

13
LINQを介してツリーを平坦化する方法は?
だから私は単純なツリーを持っています: class MyNode { public MyNode Parent; public IEnumerable<MyNode> Elements; int group = 1; } 私は持っていIEnumerable<MyNode>ます。すべてMyNode(内部ノードオブジェクト(Elements)を含む)のリストを1つのフラットリストとして取得しますWhere group == 1。LINQを介してそのようなことを行う方法は?
95 c#  .net  linq  .net-4.0  tree 


3
RestSharpの簡単な完全な例[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する RestSharpを使用してRest APIを呼び出す簡単なプロトタイプWebアプリケーションを作成しようとしています。 その良い例を見つけることができませんでした。誰かが私を共有して正しいリソースに教えてくださいませんか?私はすでに以下を見ました、そして私が探しているもの、すなわち完全に機能的な例を提供していません: http://restsharp.org/(例の完全なアプリケーションはありません) http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/(古いようです) プロトタイピング中に、以下のコードで以下のエラーが発生します。 RestResponse response = client.Execute(request); *Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?) *
95 c#  rest  restsharp 

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