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

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

7
データソースを変更せずにDataGridViewをフィルタリングする
私はC#Visual Studio 2010でユーザーコントロールを開発しています-datagridviewをフィルタリングするための一種の「クイック検索」テキストボックス。これは、DataTable、DataBinding、DataSetの3種類のデータグリッドビューデータソースで機能します。私の問題は、DataGridViewに表示されるDataSetオブジェクトからDataTableをフィルタリングすることです。 3つのケースがある可能性があります(DataGridViewとTextBoxを備えた標準のWinFormアプリケーションの例)-最初の2つは問題なく動作し、3つ目は問題があります。 1. datagridview.DataSource = dataTable:機能する ので、次のように設定してフィルタリングできます。dataTable.DefaultView.RowFilter = "country LIKE '%s%'"; DataTable dt = new DataTable(); private void Form1_Load(object sender, EventArgs e) { dt.Columns.Add("id", typeof(int)); dt.Columns.Add("country", typeof(string)); dt.Rows.Add(new object[] { 1, "Belgium" }); dt.Rows.Add(new object[] { 2, "France" }); dt.Rows.Add(new object[] { 3, "Germany" }); dt.Rows.Add(new object[] { …

9
同じ名前の名前空間とクラス?
私はライブラリプロジェクトを整理していますが、中央マネージャークラスという名前Scenegraphのほか、Scenegraph名前空間に存在する他のクラスもたくさんあります。 私が本当に好きなのは、シーングラフがMyLib.Scenegraph他のクラスになることMyLib.Scenegraph.*ですが、それを行う唯一の方法Scenegraphは、Scenegraph.csファイルで他のすべてのクラスの内部クラスを作成することであり、それはあまりにも扱いにくいです。 代わりに、私はそれをMylib.Scenegraph.Scenegraphand として整理しましたがMyLib.Scenegraph.*、どの種類の作品ですか?Visual Studioは、クラスと名前空間のどちらを参照しているかについて、いくつかの条件下で混乱します。 このパッケージを整理する良い方法はありますか?そうすれば、維持できない混乱の中ですべてのコードをひとまとめにすることなく、ユーザーにとって便利になりますか?
95 c#  class  namespaces 

3
新しい匿名クラスを動的にするには?
C#3.0では、次の構文で匿名クラスを作成できます var o1 = new { Id = 1, Name = "Foo" }; これらの匿名クラスを変数に動的に作成する方法はありますか? 例: var o1 = new { Id = 1, Name = "Foo" }; var o2 = new { SQ = 2, Birth = DateTime.Now }; 動的作成の例: var o1 = DynamicNewAnonymous(new NameValuePair("Id", 1), new NameValuePair("Name", "Foo")); var …


1
大きなデータでSqlCommand Asyncメソッドを使用した恐ろしいパフォーマンス
非同期呼び出しを使用すると、SQLパフォーマンスに大きな問題が発生します。私は問題を実証するために小さなケースを作成しました。 LANにあるSQL Server 2016(localDBではない)にデータベースを作成しました。 そのデータベースには、WorkingCopy2つの列を持つテーブルがあります。 Id (nvarchar(255, PK)) Value (nvarchar(max)) DDL CREATE TABLE [dbo].[Workingcopy] ( [Id] [nvarchar](255) NOT NULL, [Value] [nvarchar](max) NULL, CONSTRAINT [PK_Workingcopy] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] …

7
.Contains()カスタムクラスオブジェクトのリスト
.Contains()カスタムオブジェクトのリストで関数を使用しようとしています これはリストです: List<CartProduct> CartProducts = new List<CartProduct>(); そしてCartProduct: public class CartProduct { public Int32 ID; public String Name; public Int32 Number; public Decimal CurrentPrice; /// <summary> /// /// </summary> /// <param name="ID">The ID of the product</param> /// <param name="Name">The name of the product</param> /// <param name="Number">The total number of that …
95 c#  list  class  contains 

17
ViewModelからウィンドウを閉じる
を使用しwindow controlてログインを作成し、ユーザーWPFが自分が作成しているアプリケーションにログインできるようにします。 これまでのところ、私は、ユーザーがための正しい資格情報で入力したかどうかを確認する方法作成しているusernameとpasswordにおけるtextboxログイン画面、上のbinding二つproperties。 これを実現するには、boolメソッドを作成します。 public bool CheckLogin() { var user = context.Users.Where(i => i.Username == this.Username).SingleOrDefault(); if (user == null) { MessageBox.Show("Unable to Login, incorrect credentials."); return false; } else if (this.Username == user.Username || this.Password.ToString() == user.Password) { MessageBox.Show("Welcome " + user.Username + ", you have successfully logged in."); …
95 c#  wpf  mvvm 

2
.NETコアMVCコントローラーの単体テスト用のHttpContextをモックしますか?
私はユニットテストであるコントローラーに、httpリクエストのヘッダーの値を期待する関数があります。読み取り専用のため、HttpContextを初期化できません。 私のコントローラー関数は、「device-id」のhttpリクエストヘッダー値を期待しています [TestMethod] public void TestValuesController() { ValuesController controller = new ValuesController(); //not valid controller.HttpContext is readonly //controller.HttpContext = new DefaultHttpContext(); var result = controller.Get(); Assert.AreEqual(result.Count(), 2); } サードパーティのライブラリを使用せずにこれを行う簡単な方法はありますか?

2
同期コードを非同期呼び出しにラップする
ASP.NETアプリケーションには、完了するまでにかなりの時間を消費するメソッドがあります。このメソッドの呼び出しは、ユーザーが提供するキャッシュの状態とパラメーターに応じて、1回のユーザー要求中に最大3回発生する可能性があります。各通話が完了するまでに約1〜2秒かかります。メソッド自体はサービスへの同期呼び出しであり、実装をオーバーライドする可能性はありません。 したがって、サービスへの同期呼び出しは次のようになります。 public OutputModel Calculate(InputModel input) { // do some stuff return Service.LongRunningCall(input); } また、メソッドの使用法は次のとおりです(注:メソッドの呼び出しは複数回発生する可能性があります)。 private void MakeRequest() { // a lot of other stuff: preparing requests, sending/processing other requests, etc. var myOutput = Calculate(myInput); // stuff again } 私はこの方法の同時作業を提供するために実装を私の側から変更しようとしました、そしてこれが私がこれまでに来たものです。 public async Task<OutputModel> CalculateAsync(InputModel input) { return await Task.Run(() => …

3
WPFで安全にUI(メイン)スレッドにアクセスする
次の方法で、監視しているログファイルが更新されるたびに(新しいテキストが追加されて)データグリッドを更新するアプリケーションがあります。 private void DGAddRow(string name, FunctionType ft) { ASCIIEncoding ascii = new ASCIIEncoding(); CommDGDataSource ds = new CommDGDataSource(); int position = 0; string[] data_split = ft.Data.Split(' '); foreach (AttributeType at in ft.Types) { if (at.IsAddress) { ds.Source = HexString2Ascii(data_split[position]); ds.Destination = HexString2Ascii(data_split[position+1]); break; } else { position += at.Size; } …

14
ASP.NET Identityのクレームを更新するにはどうすればよいですか?
MVC5プロジェクトにOWIN認証を使用しています。これは私のSignInAsync private async Task SignInAsync(ApplicationUser user, bool isPersistent) { var AccountNo = "101"; AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.UserData, AccountNo)); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent, RedirectUri="Account/Index"}, identity); } ご覧のとおりAccountNo、クレームリストに追加しました。 では、アプリケーションのある時点でこのクレームを更新するにはどうすればよいですか?これまでのところ、私はこれを持っています: public string AccountNo { get { var CP = ClaimsPrincipal.Current.Identities.First(); var Account= CP.Claims.FirstOrDefault(p => p.Type == …

7
JObjectを使用してオンザフライでJSONを作成する
一部の単体テストでは、テスト対象のシステムの入力として使用できる特定のJSON値(この場合はレコードアルバム)を構築する機能が必要です。 私は次のコードを持っています: var jsonObject = new JObject(); jsonObject.Add("Date", DateTime.Now); jsonObject.Add("Album", "Me Against The World"); jsonObject.Add("Year", 1995); jsonObject.Add("Artist", "2Pac"); これは問題なく動作しますが、私は「マジックストリング」構文が本当に好きではなく、次のようなJavaScriptのexpando-property構文に近いものを好みます。 jsonObject.Date = DateTime.Now; jsonObject.Album = "Me Against The World"; jsonObject.Year = 1995; jsonObject.Artist = "2Pac";
95 c#  json  json.net 

13
配列のすべての内容をC#で出力する
配列を変更するいくつかのメソッドを呼び出した後、配列の内容を出力しようとしています。Javaでは次を使用します。 System.out.print(Arrays.toString(alg.id)); C#でこれを行うにはどうすればよいですか?
95 c#  .net  arrays  linq 

5
「この非同期メソッドには「await」演算子がなく、同期的に実行されます」という警告について心配する必要があります。
私はいくつかの非同期メソッドを公開するインターフェースを持っています。より具体的には、TaskまたはTask <T>のいずれかを返すメソッドが定義されています。async / awaitキーワードを使用しています。 私はこのインターフェースを実装している最中です。ただし、これらのメソッドの一部では、この実装には何も待つ必要がありません。そのため、コンパイラの警告「この非同期メソッドには「await」演算子がなく、同期的に実行されます...」という警告が表示されます。 エラーが発生する理由は理解していますが、このコンテキストでそれらについて何かを行う必要があるかどうか疑問に思っています。コンパイラの警告を無視するのは間違っていると感じます。 Task.Runを待つことで修正できることはわかっていますが、安価な操作を数回しか実行していないメソッドでは、それは間違っていると感じます。また、実行に不要なオーバーヘッドが追加されるように聞こえますが、asyncキーワードが存在するため、それがすでに存在するかどうかもわかりません。 警告を無視する必要がありますか、それとも私が見ないこれを回避する方法はありますか?


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