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

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

2
node.jsとASP.NET Coreのパフォーマンステストの予期しない結果
で書かれた2つの(ちょっと)hello worldプロジェクトで簡単なストレステストをしています node.js そして asp.net-core。どちらもプロダクションモードで実行されており、ロガーが接続されていません。結果は驚くべきものです!ASP.NETコアは、node.jsアプリが単にビューをレンダリングしているのに対して、追加の作業を行った後でもnode.jsアプリよりも優れています。 アプリ1: http://localhost:3000/nodejs node.js 使用:node.js、ExpressおよびVashレンダリングエンジン。 このエンドポイントのコードは router.get('/', function(req, res, next) { var vm = { title: 'Express', time: new Date() } res.render('index', vm); }); ご覧のとおり、現在の日付をtime変数経由でビューに送信する以外は何もしません。 アプリ2: http://localhost:5000/aspnet-core asp.net core 使用:ASP.NET Core、デフォルトのテンプレートターゲティングdnxcore50 ただし、このアプリは、日付が表示されているページをレンダリングするだけではありません。さまざまなランダムテキストの5つの段落を生成します。これにより、理論的には、nodejsアプリよりも少し重くなるはずです。 このページをレンダリングするアクションメソッドは次のとおりです [ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)] [Route("aspnet-core")] public IActionResult Index() { var sb …


6
C#コードフラグメントを動的にコンパイルして実行することは可能ですか?
C#コードフラグメントをテキストファイル(または任意の入力ストリーム)に保存し、それらを動的に実行することが可能かどうか疑問に思っていましたか?提供されたものがMain()ブロック内で問題なくコンパイルされると仮定すると、このコードをコンパイルおよび/または実行することは可能ですか?パフォーマンス上の理由から、コンパイルしたいと思います。 少なくとも、実装するために必要なインターフェイスを定義し、そのインターフェイスを実装するコード「セクション」を提供することができます。
177 c# 

10
アプリケーション全体に文化を設定する方法はありますか?すべての現在のスレッドと新しいスレッド?
アプリケーション全体に文化を設定する方法はありますか?すべての現在のスレッドと新しいスレッド? データベースに保存されているカルチャの名前があり、アプリケーションが起動すると、 CultureInfo ci = new CultureInfo(theCultureString); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; しかし、もちろん、これは新しいスレッドで何かを実行したいときに「失われます」。それCurrentCultureをCurrentUICultureアプリケーション全体に設定する方法はありますか?それで、その新しいスレッドもその文化を獲得しますか?それとも、フックできる新しいスレッドが作成されるたびに発生するイベントですか?


18
末尾のゼロを削除する
コレクションによって返されるいくつかのフィールドがあります 2.4200 2.0044 2.0000 次のような結果が欲しい 2.42 2.0044 2 で試しましたString.Formatが、戻り、他の値も丸める2.0000ように設定してN0います。
177 c#  .net  decimal 

10
C#の参照型変数の「ref」の使用は何ですか?
値タイプ(int、structなど)をパラメーターとして(refキーワードなしで)渡すと、その変数のコピーがメソッドに渡されますが、refキーワードを使用すると、その変数への参照が渡されることを理解しています。新しいものではありません。 ただし、クラスなどの参照型では、refキーワードがなくても、参照はコピーではなくメソッドに渡されます。それではref、参照タイプでのキーワードの使用は何ですか? 例えば: var x = new Foo(); 次の違いは何ですか? void Bar(Foo y) { y.Name = "2"; } そして void Bar(ref Foo y) { y.Name = "2"; }

4
Test InitメソッドのHttpContext.Currentのモック
作成したASP.NET MVCアプリケーションに単体テストを追加しようとしています。単体テストでは、次のコードを使用します。 [TestMethod] public void IndexAction_Should_Return_View() { var controller = new MembershipController(); controller.SetFakeControllerContext("TestUser"); ... } 次のヘルパーを使用して、コントローラーコンテキストをモックします。 public static class FakeControllerContext { public static HttpContextBase FakeHttpContext(string username) { var context = new Mock<HttpContextBase>(); context.SetupGet(ctx => ctx.Request.IsAuthenticated).Returns(!string.IsNullOrEmpty(username)); if (!string.IsNullOrEmpty(username)) context.SetupGet(ctx => ctx.User.Identity).Returns(FakeIdentity.CreateIdentity(username)); return context.Object; } public static void SetFakeControllerContext(this Controller controller, string …

17
最大またはデフォルト?
行を返さない可能性があるLINQクエリから最大値を取得する最良の方法は何ですか?私がやれば Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter).Max クエリが行を返さない場合、エラーが発生します。私はそれをできた Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter _ Order By MyCounter Descending).FirstOrDefault しかし、それはそのような単純な要求に対して少し鈍感に感じます。それを行うためのより良い方法がありませんか? 更新:これは裏話です:私は子テーブルから次の適格性カウンターを取得しようとしています(レガシーシステム、私を始めないでください...)。各患者の最初の適格性の行は常に1、2番目は2などです(明らかに、これは子テーブルの主キーではありません)。そこで、患者の既存の最大カウンター値を選択し、それに1を追加して新しい行を作成します。既存の子の値がない場合、クエリで0を返す必要があります(1を追加すると、カウンター値1が返されます)。レガシーアプリでカウンター値にギャップが生じる可能性があるため(可能な場合)、子行の生のカウントに依存したくないことに注意してください。質問を一般的すぎるようにしようとする私の悪い。
176 c#  .net  linq  linq-to-sql 

6
「非仮想(VBでオーバーライド可能)メンバーの設定が無効です...」というメッセージの例外が表示されるのはなぜですか?
ブール型を返す非仮想メソッドをモックする必要がある単体テストがあります public class XmlCupboardAccess { public bool IsDataEntityInXmlCupboard(string dataId, out string nameInCupboard, out string refTypeInCupboard, string nameTemplate = null) { return IsDataEntityInXmlCupboard(_theDb, dataId, out nameInCupboard, out refTypeInCupboard, nameTemplate); } } だから私はXmlCupboardAccessクラスのモックオブジェクトがあり、以下に示すように私のテストケースでこのメソッドのモックをセットアップしようとしています [TestMethod] Public void Test() { private string temp1; private string temp2; private Mock<XmlCupboardAccess> _xmlCupboardAccess = new Mock<XmlCupboardAccess>(); _xmlCupboardAccess.Setup(x => …
176 c#  unit-testing  moq 

12
ToList()-新しいリストを作成しますか?
クラスがあるとしましょう public class MyObject { public int SimpleInt{get;set;} } そして、私はを持っていてList<MyObject>、ToList()それを変更してからの1つをSimpleInt変更すると、私の変更が元のリストに反映されます。つまり、次のメソッドの出力はどうなるでしょうか。 public void RunChangeList() { var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}}; var whatInt = ChangeToList(objs ); } public int ChangeToList(List<MyObject> objects) { var objectList = objects.ToList(); objectList[0].SimpleInt=5; return objects[0].SimpleInt; } どうして? P / S:それを見つけることが明らかであると思われる場合は申し訳ありません。でも今はコンパイラを持っていない...
176 c#  linq 

4
List <T>をループして各項目を取得するにはどうすればよいですか?
リストをループして各項目を取得するにはどうすればよいですか? 出力を次のようにします。 Console.WriteLine("amount is {0}, and type is {1}", myMoney.amount, myMoney.type); これが私のコードです: static void Main(string[] args) { List&lt;Money&gt; myMoney = new List&lt;Money&gt; { new Money{amount = 10, type = "US"}, new Money{amount = 20, type = "US"} }; } class Money { public int amount { get; set; } public …
176 c#  for-loop  collections 


1
C#.NETを使用してローカルビットコインブロックチェーンをクエリする
ローカルに保存されているブロックチェーン(ビットコインコア経由でダウンロードされたもの)のみを使用して、特定のビットコインアドレスの残高を確認しようとしています。これに似たもの(NBitCoinやQBitNinjaを使用)ですが、ネットワークにアクセスする必要はありません。 private static readonly QBitNinjaClient client = new QBitNinjaClient(Network.Main); public decimal CheckBalance(BitcoinPubKeyAddress address) { var balanceModel = client.GetBalance(address, true).Result; decimal balance = 0; if (balanceModel.Operations.Count &gt; 0) { var unspentCoins = new List&lt;Coin&gt;(); foreach (var operation in balanceModel.Operations) unspentCoins.AddRange(operation.ReceivedCoins.Select(coin =&gt; coin as Coin)); balance = unspentCoins.Sum(x =&gt; x.Amount.ToDecimal(MoneyUnit.BTC)); } return …
175 c#  .net  bitcoin  blockchain 

5
C#MVC4 WebAPIアプリのすべての例外をグローバルに記録するにはどうすればよいですか?
バックグラウンド クライアント用のAPIサービスレイヤーを開発していて、すべてのエラーをグローバルにキャッチしてログに記録するように依頼されました。 したがって、不明なエンドポイント(またはアクション)のようなものは、ELMAHを使用するか、次のようなものをに追加することによって簡単に処理されGlobal.asaxます。 protected void Application_Error() { Exception unhandledException = Server.GetLastError(); //do more stuff } 。。ルーティングに関連しない.unhandledエラーはログに記録されません。例えば: public class ReportController : ApiController { public int test() { var foo = Convert.ToInt32("a");//Will throw error but isn't logged!! return foo; } } また、[HandleError]このフィルターを登録して、属性をグローバルに設定してみました。 filters.Add(new HandleErrorAttribute()); ただし、すべてのエラーがログに記録されるわけではありません。 問題/質問 /test上記の呼び出しで生成されたようなエラーをインターセプトして、ログに記録するにはどうすればよいですか?この答えは明白であるように思われますが、私はこれまで考えられるすべてのことを試みました。 理想的には、要求しているユーザーのIPアドレス、日付、時刻など、いくつかをエラーログに追加したいと思います。また、エラーが発生したときにサポートスタッフに自動的にメールを送信できるようにしたいと考えています。エラーが発生したときにこれらのエラーをインターセプトできる場合にのみ、これらすべてを実行できます。 解決しました! その答えを受け入れたDarin Dimitrovのおかげで、これを理解できました。 WebAPIは、通常のMVCコントローラーと同じ方法でエラーを処理しません。 …

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