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

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

3
.Net 4.5の非同期HttpClientは、集中的な負荷のあるアプリケーションにとって悪い選択ですか?
私は最近、非同期の方法で生成できるHTTP呼び出しのスループットをテストするための単純なアプリケーションと、従来のマルチスレッドアプローチを作成しました。 アプリケーションは、事前定義された数のHTTP呼び出しを実行でき、最後にそれらを実行するために必要な合計時間を表示します。テスト中、すべてのHTTP呼び出しはローカルIISサーバーに対して行われ、小さなテキストファイル(サイズは12バイト)を取得しました。 非同期実装のコードの最も重要な部分を以下に示します。 public async void TestAsync() { this.TestInit(); HttpClient httpClient = new HttpClient(); for (int i = 0; i < NUMBER_OF_REQUESTS; i++) { ProcessUrlAsync(httpClient); } } private async void ProcessUrlAsync(HttpClient httpClient) { HttpResponseMessage httpResponse = null; try { Task<HttpResponseMessage> getTask = httpClient.GetAsync(URL); httpResponse = await getTask; Interlocked.Increment(ref _successfulCalls); } …

17
デフォルトの文字列初期化:NULLまたは空?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 文字列は常にNULLに初期化してきました。NULLは値がないことを意味し、 ""またはString.Emptyは有効な値です。String.Emptyがデフォルト値と見なされるか、値を表さないコードの例を最近見ました。これは奇妙な印象を与えます。c#に新しく追加されたnull許容型を使用すると、NULLを使用せずに「値なし」を表すことにより、文字列を後方に進めているようです。 デフォルトのイニシャライザとして何を使用していますか、またその理由は何ですか? 編集:私のさらなる考えにさらに答えに基づいて エラー処理の回避値をnullにしてはいけないのに、そもそもなぜそれが設定さNULLれたのですか?おそらく、コードベースの残りの部分全体をカバーするよりも、エラーが発生した場所でエラーを特定する方が良いでしょうか? nullチェックの回避コードでnullチェックを行うことにうんざりしている場合は、nullチェックを抽象化する方が良いのではないでしょうか。おそらく、それらをNULL安全にするために文字列メソッドをラップ(または拡張!)常に使用String.Emptyしていて、nullがシステムに機能している場合はどうなりますNULLか?とにかくチェックを追加し始めますか? 怠惰だという意見に戻らざるを得ません。nullデータベースで''の代わりに ''を使用した場合、どのDBAも9つの方法で愚かなことをするでしょう。私は同じ原則がプログラミングにも当てはまると思います。価値を表すのString.Emptyではなく、頭の中で使用している人を叩く人がいるはずNULLです。 関連する質問 C#では、string.EmptyまたはString.Emptyまたは“”を使用する必要がありますか? String.Emptyと“”の違いは何ですか テーブル列にデータがないことを表すnullまたは空の文字列?
130 c# 

11
System.Net.WebRequestを使用する場合、一部のHTTPヘッダーを設定できません
WebRequestオブジェクトにHTTPヘッダーのキーと値のペアを追加しようとすると、次の例外が発生します。 このヘッダーは、適切なプロパティを使用して変更する必要があります HeadersAdd()メソッドを使用してコレクションに新しい値を追加しようとしましたが、それでも同じ例外が発生します。 webRequest.Headers.Add(HttpRequestHeader.Referer, "http://stackoverflow.com"); これを回避するには、WebRequestオブジェクトをHttpWebRequestにキャストし、などのプロパティを設定しますhttpWebReq.Referer ="http://stackoverflow.com"が、これは、プロパティを介して公開される少数のヘッダーに対してのみ機能します。 リモートリソースのリクエストでヘッダーを変更する方法をより細かく制御する方法があるかどうか知りたいのですが。
130 c#  header  webrequest 

16
深いnullチェック、より良い方法はありますか?
注:この質問はの導入前に頼まれたC#6 / Visual Studioの2015年には事業者。.? 私たちは全員そこに行ったことがあります。例外がないので、nullかどうかをチェックする必要があるcake.frosting.berries.loaderのような深いプロパティがあります。方法は、短絡するifステートメントを使用することです if (cake != null && cake.frosting != null && cake.frosting.berries != null) ... これは厳密にはエレガントではありません。チェーン全体をチェックして、null変数/プロパティに直面するかどうかを確認する簡単な方法がおそらくあるはずです。 いくつかの拡張メソッドを使用することは可能ですか、それとも言語機能でしょうか、それとも単に悪い考えですか?
130 c#  null 



8
「揮発性」キーワードは何に使用されますか?
OverаэтотвопросестьответынаStack Overflowнарусском:КлючевоесловоvolatileвJava volatileキーワードに関する記事をいくつか読んだのですが、正しい使い方がわかりませんでした。C#とJavaで何を使用する必要があるか教えていただけますか?
130 c#  java  volatile 

7
C#で独自の動的タイプまたは動的オブジェクトを作成する方法
そこでは、例えば、あるViewBagののプロパティControllerBaseクラスと私たちは、動的/設定値を取得し、.Iは、そのようなものを使いたいクールである、このオブジェクトに追加フィールドまたはプロパティの任意の数を追加することができ、MVCアプリケーションとそれ以降Controller他のクラスアプリケーションのタイプ。動的オブジェクトを作成し、そのプロパティを以下のように設定しようとしたとき: 1. dynamic MyDynamic = new { A="a" }; 2. MyDynamic.A = "asd"; 3. Console.WriteLine(MyDynamic.A); 私が持っているRuntimeBinderExceptionメッセージを表示してプロパティまたはインデクサー「<> f__AnonymousType0.A」に割り当てることはできません-それは読み取り専用です 2行目ではまた、私はそれは私が探して-ためてるかなり何ではありません示唆しています。多分私が次のようなことをすることを可能にすることができるいくつかのクラスがあります: ??? MyDynamic = new ???(); MyDynamic.A = "A"; MyDynamic.B = "B"; MyDynamic.C = DateTime.Now; MyDynamic.TheAnswerToLifeTheUniverseAndEverything = 42; 動的な追加と設定のプロパティ。
130 c#  dynamic  viewbag 


4
C#では、クラスは別のクラスとインターフェイスから継承できますか?
クラスがクラスとインターフェースから継承できるかどうか知りたい。以下のサンプルコードは機能しませんが、私がやりたいことを伝えていると思います。私がこれをしたいのは、私たちの会社ではUSB、シリアル、イーサネットなどのデバイスを作っているからです。すべてのアプリケーションで共通のもの(接続、切断、ファームウェアの取得など)を同じに保つのに役立つ、すべてのデバイス用のプログラムを作成するために使用できる汎用コンポーネント/インターフェイスを開発しようとしています。 この質問に追加するには:GenericDeviceが別のプロジェクトにある場合、そのプロジェクトにIOurDevicesインターフェイスを配置してから、最初のプロジェクトへの参照を追加すると、USBDeviceクラスにインターフェイスを実装させることができますか?なぜなら、1つのプロジェクトを参照し、デバイスに応じて異なるインターフェイスを実装したいからです。 class GenericDevice { private string _connectionState; public connectionState { get{return _connectionState; } set{ _connectionState = value;} } } interface IOurDevices { void connectToDevice(); void DisconnectDevice(); void GetFirmwareVersion(); } class USBDevice : IOurDevices : GenericDevice { //here I would define the methods in the interface //like this... void connectToDevice() …

8
C#からPythonスクリプトを実行するにはどうすればよいですか?
この種の質問は以前にさまざまな程度で尋ねられましたが、簡潔な方法で答えられていないと感じているので、もう一度質問します。 Pythonでスクリプトを実行したい。これだとしましょう: if __name__ == '__main__': with open(sys.argv[1], 'r') as f: s = f.read() print s これはファイルの場所を取得し、それを読み取り、その内容を印刷します。それほど複雑ではありません。 わかりました。これをC#で実行するにはどうすればよいですか。 これは私が今持っているものです: private void run_cmd(string cmd, string args) { ProcessStartInfo start = new ProcessStartInfo(); start.FileName = cmd; start.Arguments = args; start.UseShellExecute = false; start.RedirectStandardOutput = true; using (Process process = Process.Start(start)) { using …

7
ISO 8601形式から.NET DateTimeを作成する方法
DateTimeをISO 8601形式に変換する方法はわかりましたが、C#でその逆を行う方法はありません。 私は持っていて2010-08-20T15:00:00Z、それをDateTimeオブジェクトにしたいのです。 文字列の部分を自分で分離することもできましたが、それはすでに国際標準となっているものに対しては多くの作業のように思えます。

13
下線を引くか、下線を引かないか、それが問題です
バイナリバージョンが他のフレームワーク言語で使用される場合、C#でプライベートフィールドの先頭にアンダースコアを付けないことで問題はありますか?たとえば、C#では大文字と小文字が区別されるため、フィールド "foo"とパブリックプロパティ "Foo"を呼び出すことができ、正常に機能します。 これは持っているだろう任意の名前がケーシングによってのみ区別される場合は任意のCLS準拠(または他の)問題によって、このようVB.NETなど、大文字と小文字を区別しない言語に効果があるのだろうか?
130 c# 

10
画像のパンとズーム
ユーザーが次のことができるようにするWPFで簡単な画像ビューアーを作成したいと思います。 画面移動(画像をマウスでドラッグ)。 ズーム(スライダー付き)。 オーバーレイを表示します(たとえば、長方形の選択)。 元の画像を表示します(必要に応じてスクロールバーを使用)。 それを行う方法を説明できますか? ウェブ上で良いサンプルが見つかりませんでした。ViewBoxを使用する必要がありますか?またはImageBrush?ScrollViewerは必要ですか?
130 c#  wpf  xaml  zoom  pan 

11
時間なしで現在の日付を取得する方法は?
私は使用して日付と時刻を取得することができます: DateTime now = DateTime.Now; DateTime形式自体で現在の日付と時刻を個別に取得するにはどうすればよいですか? ASP.NET(C#)でDateTimeピッカーダイアログボックスを使用していません。
130 c# 

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