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

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

17
Entity Framework 6を​​使用してレコードを更新する方法は?
EF6を使用してレコードを更新しようとしています。最初にレコードが見つかったら、それを更新します。これが私のコードです:- var book = new Model.Book { BookNumber = _book.BookNumber, BookName = _book.BookName, BookTitle = _book.BookTitle, }; using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { try { db.Books.Attach(book); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { throw; …

28
C ++はC#よりどのくらい高速ですか?
それとも逆になりましたか? 私が聞いたところによると、C#がC ++よりも高速であることが証明されているいくつかの領域がありますが、私はそれを自分でテストする勇気がありませんでした。 これらの違いを詳細に説明したり、この情報の適切な場所を私に示したりできると思いました。

16
C#でプライベートプロパティを使用する理由はありますか?
C#のプロパティコンストラクトはプライベートアクセス修飾子でも使用できることを認識しました。 private string Password { get; set; } これは技術的に興味深いものですが、プライベートフィールドでは式典が少なくなるため、いつ使用するかは想像できません。 private string _password; 私が今まで内部でできるようにする必要があるだろうというとき、私は想像することはできません取得ではなく、設定やセットではなく、取得プライベートフィールド: private string Password { get; } または private string Password { set; } しかし、おそらく、ネストされたクラスまたは継承されたクラスの使用例があるか、またはプロパティの値を返すだけでなく、get / setにロジックが含まれている可能性があります。例えばGetEncodedPassword()。 誰かが何らかの理由でC#でプライベートプロパティを使用していますか、それとも、技術的には可能ですが実際にはほとんど使用されていない実際のコード構成の1つにすぎませんか? 補遺 それらを読んで、私は私有財産のこれらの使用法を選別しました: プライベートフィールドを遅延読み込みする必要がある場合 プライベートフィールドが追加のロジックを必要とする場合、または計算された値である場合 プライベートフィールドはデバッグが難しいため 「自分に契約を提示する」ため シリアル化の一部として公開されたプロパティを内部的に変換/簡略化する クラス内で使用されるグローバル変数をラップする


12
単一の結合で複数のフィールドをLINQで結合する方法
複数のフィールドで結合を行うLINQ2DataSetクエリを実行する必要があります( var result = from x in entity join y in entity2 on x.field1 = y.field1 and x.field2 = y.field2 私はまだ適切な解決策を見つけました(where句に追加の制約を追加できますが、これは適切な解決策とは程遠いか、この解決策を使用しますが、それは等価結合を前提としています)。 LINQでは、単一の結合で複数のフィールドに結合できますか? 編集 var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } 上記の等価結合を前提として参照したソリューションです。 さらに編集 私の最初の例が等結合であったという批判に答えるために、私はそれを認めます。私の現在の要件は等結合であり、上記で参照したソリューションをすでに採用しています。 ただし、私はLINQでどのような可能性とベストプラクティスを採用しているのかを理解しようとしています。すぐにテーブルIDで日付範囲クエリ結合を行う必要があり、その問題を先取りしていました。where句に日付範囲を追加する必要があるようです。 …
244 c#  linq  join 


30
System.MissingMethodException:メソッドが見つかりませんか?
かつて私のasp.net webformsアプリで機能していたものが、次のエラーをスローします。 System.MissingMethodException:メソッドが見つかりません DoThisこの方法は、同じクラスにあり、それが動作するはずです。 私にはそのような一般的なハンドラがあります: public class MyHandler: IHttpHandler { public void Processrequest(HttpContext context) { // throws error now System.MissingMethodException: Method not found? this.DoThis(); } public void DoThis() { // } }
244 c#  asp.net  dll  nuget  httphandler 

3
汎用辞書の大文字と小文字を区別しないアクセス
マネージdllを使用するアプリケーションがあります。これらのdllの1つは、一般的な辞書を返します。 Dictionary<string, int> MyDictionary; 辞書には、大文字と小文字のキーが含まれています。 別の側では、潜在的なキー(文字列)のリストを取得していますが、ケースを保証できません。キーを使用して辞書の値を取得しようとしています。しかし、もちろん大文字と小文字が一致しないため、次のコードは失敗します。 bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue ); MSDNドキュメントに記載されているように、TryGetValueに大文字と小文字を区別しないフラグがあることを期待していましたが、これは一般的な辞書には無効のようです。 重要なケースを無視してその辞書の値を取得する方法はありますか?適切なStringComparer.OrdinalIgnoreCaseパラメータを使用してディクショナリの新しいコピーを作成するよりも良い回避策はありますか?
244 c#  generics  dictionary 

22
MVVM:最初から最後までチュートリアル?
ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 私はC#/ Windowsフォームのプログラマーで、5年以上の経験があります。MVVM(Model-View-ViewModel)デザインパターンを使用してWPFを調査しています。チュートリアルをインターネットで検索しました。ジェイソン・ドリンガーの素晴らしいビデオを全部見てきました。私は多くを見つけましたが、最初から最後まで私を連れて行くものを見つけていません。私が本当に欲しいのは、以前のWPFの知識を前提としないチュートリアルです。 学ぶのに役立つお気に入りのWPF-MVVMチュートリアルは何ですか?
243 c#  .net  wpf  mvvm 

18
Web APIのリクエストに一致する複数のアクションが見つかりました
2つの "Get"メソッドを実行しようとすると、このエラーが発生し続ける リクエストに一致する複数のアクションが見つかりました:webapi 私はこれについてスタックで他の同様の質問を見回していますが、わかりません。 2つの異なる名前があり、「HttpGet」属性を使用しています [HttpGet] public HttpResponseMessage Summary(MyVm vm) { return null; } [HttpGet] public HttpResponseMessage FullDetails() { return null; }


28
C#でGmail SMTPサーバーを介してメールを送信する
何らかの理由で、「Gmailを介して.NETでメールを送信する」ことについて、受け入れられた回答も他の回答も機能しません。なぜ彼らは働かないのでしょうか? 更新:私は他の質問のすべての回答(受け入れられたものもそうでないものも)を試しましたが、どれも機能しません。 私はそれが他の誰かのために働くかどうか知りたいだけです、さもなければ、Googleは何かを変更したかもしれません(以前に起こった)。 を使用するコードを試してみると、SmtpDeliveryMethod.NetworkSend(message)でSmtpExceptionをすぐに受け取ります。メッセージは SMTPサーバーは安全な接続を必要とするか、クライアントが認証されませんでした。 サーバーの応答は次のとおりです。 5.5.1認証が必要です。詳細については、「<-真剣に、それで終わりです。 更新: これはずっと前に私が尋ねた質問であり、受け入れられた答えは、さまざまなプロジェクトで何度も何度も使用したコードです。 この投稿と他のEmailSenderプロジェクトのアイデアをいくつか取り入れて、CodeplexでEmailSenderプロジェクトを作成しました。テストしやすいように設計されており、GoDaddyやGmailなどのお気に入りのSMTPサービスをサポートしています。
242 c#  .net  email  smtp  gmail 


6
WPFアプリケーションで例外をグローバルにキャッチしますか?
実行時に例外がスローされるWPFアプリケーションがあります。未処理の例外をグローバルにキャッチしてログに記録しますが、それ以外は何も起こらなかったかのようにプログラムの実行を続行します(VBのようなものOn Error Resume Next)。 これはC#で可能ですか?もしそうなら、例外処理コードをどこに置く必要がありますか? 現在、try/をラップして、catch発生する可能性のあるすべての例外をキャッチできる単一のポイントを確認できません。そして、それでも私はキャッチのために実行されたものは何でも残していたでしょう。または私はここでひどく間違った方向に考えていますか? ETA:以下の多くの人々がそれを指摘したので:アプリケーションは原子力発電所を制御するためのものではありません。クラッシュしたとしても、それほど大きな問題ではありませんが、UIに関連するランダムな例外は、それが使用される状況では問題になります。プラグインアーキテクチャを使用しており、他の人(その場合は学生もいるため、完全にエラーのないコードを記述できる経験豊富な開発者はいない)によって拡張される可能性があるため、いくつかあります(おそらくまだあります)。 キャッチされる例外については、完全なスタックトレースを含めて、ログファイルに記録します。それがその演習の要点でした。文字通り、VBのOERNに私の類推をしている人々に対抗するためだけに。 特定のクラスのエラーを盲目的に無視することは危険であり、アプリケーションインスタンスを破損する可能性があることを知っています。前述のように、このプログラムは誰にとってもミッションクリティカルではありません。彼らの正しい心の中の誰もがその上に人間の文明の生存を賭けないでしょう。これは、特定の設計アプローチをwrtでテストするための単なる小さなツールです。ソフトウェア工学。 アプリケーションをすぐに使用する場合、例外で発生する可能性のあることは多くありません。 例外処理なし–エラーダイアログとアプリケーションは終了します。実験は繰り返される必要がありますが、別の主題で可能性があります。エラーはログに記録されていませんが、残念です。 一般的な例外処理–害のない無害なエラーがトラップされます。これは、開発中に発生したすべてのエラーから判断される一般的なケースです。この種のエラーを無視しても、直接的な影響はありません。コアデータ構造は十分にテストされているため、簡単にこれに耐えることができます。 一般的な例外処理–重大なエラーがトラップされました。後でクラッシュする可能性があります。これはまれに発生する可能性があります。今まで見たことがありません。エラーはとにかく記録され、クラッシュは避けられないかもしれません。したがって、これは概念的には最初のケースと同様です。スタックトレースがあることを除いて。そして、ほとんどの場合、ユーザーは気付くことさえありません。 プログラムによって生成された実験データについて:深刻なエラーは最悪の場合、データが記録されないだけです。実験の結果をほんの少しだけ変えるような微妙な変更は、ほとんどあり得ません。その場合でも、結果が疑わしいと思われる場合は、エラーがログに記録されます。完全な外れ値である場合でも、そのデータポイントを破棄できます。 要約すると、はい、私自身は少なくとも部分的には正気であると考えています。また、プログラムを実行したままにするグローバル例外処理ルーチンは必ずしも完全に悪であるとは考えていません。前に2回言ったように、アプリケーションによっては、このような決定が有効な場合があります。この場合、それは有効な決定であると判断され、合計ではなく、でたらめです。他のアプリケーションでは、決定が異なる場合があります。しかし、私たちまたはエラーを無視しているという理由だけで、世界を爆破する可能性があるそのプロジェクトに取り組んだ他の人々を非難しないでください。 補足:そのアプリケーションのユーザーは1人だけです。WindowsやOfficeのように何百万人もが使用しているものではなく、例外をユーザーにバブルさせるコストは、そもそも非常に異なっています。

11
String.Split操作で空白を指定する最良の方法
次のように、空白に基づいて文字列を分割しています。 string myStr = "The quick brown fox jumps over the lazy dog"; char[] whitespace = new char[] { ' ', '\t' }; string[] ssizes = myStr.Split(whitespace); char []配列をコード内のどこにでも定義するのは面倒です。文字配列の作成を必要としないより効率的な方法はありますか(別の場所にコピーするとエラーが発生しやすくなります)?
242 c#  string 

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