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

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

17
MVVMでは、ViewModelまたはModelはINotifyPropertyChangedを実装する必要がありますか?
私がこれまでに取り組んだほとんどのMVVMの例にはModel実装 INotifyPropertyChangedがありましたが、Josh SmithのCommandSinkの例で はViewModelが実装されていINotifyPropertyChangedます。 私はまだMVVMの概念を認識的にまとめているので、次の場合はわかりません。 あなたは配置する必要がありINotifyPropertyChanged得るためのViewModelにCommandSink仕事に これは単なる標準の逸脱であり、それは本当に問題ではありません あなたは常にモデルを実装する必要があり、INotifyPropertyChangedこれは単なるコードミスからアプリケーションに開発された場合に修正される間違いです あなたが取り組んできたMVVMプロジェクトに関する他の経験は何ですか?

1
Attributes.IsDefined()にオーバーロードがないのはなぜですか?
SOの質問に触発されました。Attributeクラスには、IsDefined()メソッド用のいくつかのオーバーロードがあります。対象となるのは、Assembly、Module、MemberInfo、ParameterInfoに適用される属性です。MemberInfoオーバーロードは、PropertyInfo、FieldInfo、EventInfo、MethodInfo、ConstructorInfoをカバーします。 これで、ほとんどのAttributeTargetsが処理されます。1つの大きな違いを除いて:Attribute.IsDefined(Type、Type)のオーバーロードがないため、属性がクラスで定義されているかどうかを確認できます。または、その問題の構造体、委任、または列挙型。 これが実際の問題ではないため、Type.GetCustomAttributes()で修正できます。しかし、すべてのBlahInfoタイプにもこれがあります。対称性の欠如に疑問を感じます。なぜこれがTypeの問題になるのか、はっきりとは言えません。継承の問題を推測しても、それは説明できません。ValueTypeを組み合わせることはリードになるかもしれませんが、それでも意味がありません。私は「彼らが忘れた」を買わない、彼らは決して買わない。 このオーバーロードが欠落しているのはなぜですか?
165 c#  .net  reflection 

27
特定の文字列がWindowsで有効なファイル名であるかどうかを確認するにはどうすればよいですか?
アプリケーションにバッチファイルの名前変更機能を含めたいのですが。ユーザーは宛先ファイル名のパターンを入力できます(パターン内のいくつかのワイルドカードを置き換えた後)、それがWindowsで有効なファイル名になるかどうかを確認する必要があります。のように正規表現を使用しようとしました[a-zA-Z0-9_]+が、さまざまな言語(ウムラウトなど)からの国固有の文字が多く含まれていません。そのようなチェックを行う最良の方法は何ですか?
165 c#  windows  file  filesystems 

12
エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照できません。Entity Framework 4.1のエンティティに関連オブジェクトを追加する間
Cityへの参照がある従業員の詳細を保存しようとしています。しかし、検証された連絡先を保存しようとするたびに、例外「ADO.Net Entity FrameworkエンティティオブジェクトはIEntityChangeTrackerの複数のインスタンスから参照できません」が発生します。 たくさんの記事を読みましたが、それでも何をすべきかについて正確なアイデアが得られていません...保存ボタンのクリックコードを以下に示します protected void Button1_Click(object sender, EventArgs e) { EmployeeService es = new EmployeeService(); CityService cs = new CityService(); DateTime dt = new DateTime(2008, 12, 12); Payroll.Entities.Employee e1 = new Payroll.Entities.Employee(); Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value)); e1.Name = "Archana"; e1.Title = "aaaa"; e1.BirthDate = dt; e1.Gender = "F"; e1.HireDate …

20
C#やVB.NETではできないMSILでできることは何ですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 .NET言語で記述されたすべてのコードはMSILにコンパイルされますが、MSILを直接使用してのみ実行できる特定のタスク/操作はありますか? MSILでは、C#、VB.NET、F#、j#、その他の.NET言語よりも簡単に処理を実行できます。 これまでのところこれがあります: テール再帰 ジェネリックCo / Contravariance 戻り型のみが異なるオーバーロード アクセス修飾子を上書きする System.Objectから継承できないクラスがある フィルタリングされた例外(vb.netで実行できます) 現在の静的クラス型の仮想メソッドを呼び出します。 値型のボックス版のハンドルを取得します。 try / faultを実行します。 禁止された名前の使用。 値型の独自のパラメーターなしのコンストラクターを定義します。 raise要素でイベントを定義します。 CLRでは許可されているが、C#では許可されていない一部の変換。 非main()メソッドをとして作成し.entrypointます。 ネイティブとの仕事intとネイティブunsigned intに直接タイプ。 一時的なポインタで遊ぶ MethodBodyItemのエミッタバイトディレクティブ System.Exception以外のタイプをスローしてキャッチする 列挙型の継承(未検証) バイトの配列を(4倍小さい)intの配列として扱うことができます。 フィールド/メソッド/プロパティ/イベントにすべて同じ名前を付けることができます(未確認)。 独自のcatchブロックからtryブロックに戻ることができます。 famandassemアクセス指定子にアクセスできます(protected internalfam または assemです) <Module>グローバル関数を定義するためのクラス、またはモジュール初期化子への直接アクセス。
165 c#  .net  clr  cil 


3
Visual Studio-Resxファイルのデフォルト「内部」から「パブリック」
VSでリソースファイルを編集するたびに、対応するコードが再生成され、クラスアクセス修飾子が内部に設定されます。 resxを編集するたびにCtrl-F-> ReplaceAllを実行するのは面倒です。これをパブリックにデフォルト設定できるプロパティ/設定はありますか? internal class MyResource { internal static global::System.Resources.ResourceManager ResourceManager {...} } 私はそれらすべてが常に存在internalする必要がありますpublic。

6
Lookup()とDictionary(Of list())の違い
どのデータ構造が最も効率的で、いつ/どこでどのデータ構造を使用するかについて頭を抱えようとしています。 今、私は単に構造を十分に理解していないだけかもしれませんが、どうILookup(of key, ...)違うのDictionary(of key, list(of ...))ですか? また、どこで使用しILookup、どこでプログラム速度/メモリ/データアクセスなどの点でより効率的ですか?
165 c#  .net  vb.net  linq 

10
?? 空の文字列を結合しますか?
私がますますやっていることは、文字列が空かどうかをチェックすることです( ""またはnullなど)と条件演算子のです。 現在の例: s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber; これは単なる拡張メソッドであり、以下と同等です。 string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber; 空であり、nullで??はないため、トリックを実行しません。のstring.IsNullOrEmpty()バージョン??最適なソリューションになります。これを行うにはよりクリーンな方法が必要だと思います(私は願っています!)が、それを見つけるのに途方に暮れています。 .Net 4.0のみであっても、これを行うためのより良い方法を誰かが知っていますか?


6
C#の列挙型内のメソッド
Javaでは、列挙内にメソッドを含めることができます。 C#でそのような可能性はありますか、それとも単なる文字列コレクションですか? オーバーライドしようとしましたがToString()、コンパイルされません。誰かが簡単なコードサンプルを持っていますか?
165 c#  enums  enumeration 

15
ファイルまたはアセンブリを読み込めませんでした“ System.Net.Http、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a”
Visual Studio 2015 CommunityとSQL Server 2016 ExpressのみがインストールされているクリーンなWindows 10マシンにプロジェクトをコピーしました。Windows 10およびVS2015またはSQL Serverと共にインストールされるものを除いて、他にインストールされているフレームワークバージョンはありません。 WebApiプロジェクトを開始しようとすると、次のメッセージが表示されます。 ファイルまたはアセンブリ "System.Net.Http、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a"またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。 プロジェクトのパッケージには以下が含まれます: <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Tracing" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" /> .NET Framework 4.6.1でプロジェクトをビルドした後System.Net.Http、ファイルがbinフォルダーに見つかりません。 ファイルのパスは、次のものを指します。 C:\ …

12
C ++ forループの前には見たことがない
C ++アルゴリズムをC#に変換していました。私はこのforループに出くわしました: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; C ++ではエラーは発生しませんが、C#ではエラーが発生します(intをboolに変換できません)。このforループが本当にわかりません。条件はどこにありますか? 誰か説明していただけますか? PS。チェックのために、ベクトルをリストに適合させるために、b.back()はb [b.Count-1]に対応していますか?
164 c#  c++  for-loop 

12
throwとthrow new Exception()の違い
違いは何ですか try { ... } catch{ throw } そして try{ ... } catch(Exception e) {throw new Exception(e.message) } 2番目がメッセージを示しているかどうかに関係なく?
164 c# 

2
WinRTが管理されていないのはなぜですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Windows 8では、.NETに似ているが管理されていないWinRTが導入されています。なぜ管理されないのですか?パフォーマンスの問題ですか?ガベージコレクションは低レベルのAPIには適さないという意味ですか?

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