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

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

3
例外で完全なスタックトレースを印刷するにはどうすればよいですか?
たとえば、ある場所で... //---------------a try { // some network call } catch(WebException we) { throw new MyCustomException("some message ....", we); } ...そして別の場所で... //--------------b try { // invoke code above } catch(MyCustomException we) { Debug.Writeline(we.stacktrace); // <---------------- } 私が出力するスタックトレースは、aからbまでで始まり、WebExceptionからの内部スタックトレースは含まれていません。 すべてのスタックトレースを出力するにはどうすればよいですか?


6
IEqualityComparerの使用方法
私のデータベースには同じ数のベルがいくつかあります。重複せずに全部入手したいです。この作業を行うために比較クラスを作成しましたが、関数の実行により、関数から0.6秒から3.2秒に、明確に区別されない大きな遅延が発生します。 私はそれを正しく行っていますか、それとも別の方法を使用する必要がありますか? reg.AddRange( (from a in this.dataContext.reglements join b in this.dataContext.Clients on a.Id_client equals b.Id where a.date_v <= datefin && a.date_v >= datedeb where a.Id_client == b.Id orderby a.date_v descending select new Class_reglement { nom = b.Nom, code = b.code, Numf = a.Numf, }) .AsEnumerable() .Distinct(new Compare()) .ToList()); class Compare …

7
C#DateTime.Now精度
いくつかの単体テストを行っているときに、DateTime.UtcNowで予期しない動作が発生しました。DateTime.Now/UtcNowを連続して呼び出すと、より正確なミリ秒の増分をキャプチャするのではなく、予想よりも長い時間間隔で同じ値を返すようです。 正確な時間測定を行うのにより適したストップウォッチクラスがあることは知っていますが、誰かがこの動作をDateTimeで説明できるかどうか知りたいですか?DateTime.Nowの正式な精度は文書化されていますか(たとえば、50ミリ秒以内に正確ですか)?なぜDateTime.Nowは、ほとんどのCPUクロックが処理できるものよりも精度が低くなりますか?たぶん、それは最も一般的な分母CPUのために設計されただけでしょうか? public static void Main(string[] args) { var stopwatch = new Stopwatch(); stopwatch.Start(); for (int i=0; i<1000; i++) { var now = DateTime.Now; Console.WriteLine(string.Format( "Ticks: {0}\tMilliseconds: {1}", now.Ticks, now.Millisecond)); } stopwatch.Stop(); Console.WriteLine("Stopwatch.ElapsedMilliseconds: {0}", stopwatch.ElapsedMilliseconds); Console.ReadLine(); }


20
「ViewBag」という名前は現在のコンテキストに存在しません-Visual Studio 2015
私は再びASP.NETで開発を始めており、Visual Studio内で小さなエラーに遭遇しました。いくつかのかみそり機能を使用すると、.cshtmlファイルにエラーが表示されます。たとえば、「名前 'ViewBag'は現在のコンテキストに存在しません」などです。ここに写真があります: デモプロジェクトを使用しています。ここでプロジェクトを見つけることができます:https : //github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject 私は他のいくつかのスレッドを調べましたが、ほとんどはweb.configファイルを更新することをお勧めします。これらの2つの構成ファイルはすでに存在しており、かなり人気のあるデモなので、必要な構成がすべて含まれていると思います。もちろん、これらの構成ファイルを調べましたが、実際には推奨されるソリューションが含まれています。 その他の詳細: 私はすでにソリューションでクリーン&リビルドを使用しましたが、何も変わりませんでした。 完全に新しいMVCプロジェクトを作成すると機能します 私の友人にも同じ問題があり、私たちはどちらもVS 2015とWindows 10を使用しています 私はまだアプリケーションを実行でき、それは機能します。 前もって感謝します。

4
Expression.Quote()は、Expression.Constant()がまだ実行できないことを何を行うのですか?
注:以前の質問「LINQのExpression.Quoteメソッドの目的は何ですか?」」ですが、これを読むと、私の質問には答えられないことがわかります。 記載されている目的が何であるかを理解していExpression.Quote()ます。ただし、Expression.Constant()同じ目的に使用できます(Expression.Constant()すでに使用されているすべての目的に加えて)。そのため、なぜExpression.Quote()必要なのか全くわかりません。 これを示すために、慣例的に使用する簡単な例Quote(感嘆符でマークされた行を参照)を書きましたが、Constant代わりに使用しましたが、同じようにうまく機能しました。 string[] array = { "one", "two", "three" }; // This example constructs an expression tree equivalent to the lambda: // str => str.AsQueryable().Any(ch => ch == 'e') Expression<Func<char, bool>> innerLambda = ch => ch == 'e'; var str = Expression.Parameter(typeof(string), "str"); var expr = Expression.Lambda<Func<string, bool>>( Expression.Call(typeof(Queryable), …


5
複数の役割を持つ属性を承認する
一度に複数のロールの承認をコントローラーに追加したいと思います。 通常は次のようになります。 [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task<ActionResult> Index() { } しかし、ロールはある時点で変更または拡張される可能性があるため、constに保存しました。 public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; 文字列はコンパイル時に認識されている必要があるため、これはできません。 [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task<ActionResult> Index() { } 問題を回避する方法はありますか? 私は単に「RoleA、RoleB、RoleC」を含むconstを書くことができますが、私は魔法の文字列が嫌いで、これは魔法の文字列です。ロールの名前を変更し、結合された文字列を変更するのを忘れると、大変なことになります。 MVC5を使用しています。ASP.NETのIDとロールはコンパイル時に認識されます。

23
ログインによって要求されたデータベース「テスト」を開くことができません。ログインに失敗しました。ユーザー「xyz \ ASPNET」のログインに失敗しました
一部のデータをdbに保存するWebサービスを作成しました。しかし、私はこのエラーを得ています: ログインで要求されたデータベース「テスト」を開けません。ログインに失敗しました。ユーザー「xyz \ ASPNET」のログインに失敗しました。 私の接続文字列は Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True


11
リストアイテムを最良の方法で置き換える方法
if (listofelements.Contains(valueFieldValue.ToString())) { listofelements[listofelements.IndexOf(valueFieldValue.ToString())] = value.ToString(); } 上記のように交換しました。これよりも他に配置する最善の方法はありますか?
97 c# 

18
文字列値で列挙型を定義する方法は?
を定義して、EnumCSVまたは類似のファイルで使用される有効な共通の区切り記号を追加しようとしています。次に、それをComboBoxデータソースとしてにバインドするので、Enum定義に追加または削除するたびに、コンボボックスの内容を変更する必要はありません。 問題は、次のような文字列表現で列挙型をどのように定義できるかです。 public enum SeparatorChars{Comma = ",", Tab = "\t", Space = " "}
97 c#  string  enums 


14
System.ComponentModel.DataAnnotationsを参照できないのはなぜですか?
WPFプロジェクトでDataAnnotationsを使用して、文字列の最大長を次のように指定しようとしています。 using System.ComponentModel.DataAnnotations; しかし、私はエラーが出ます タイプまたは名前空間名 'DataAnnotations'が名前空間 'System.ComponentModel'に存在しません(アセンブリ参照がありませんか?) この名前空間にDataAnnotations が存在する他の例を見てきました。C#4を使用しています。これが使えない理由はありますか?どうすれば修正できますか?

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