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

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

12
C#で配列を比較する最も簡単な方法
Javaでは、Arrays.equals()2つの基本配列の内容を簡単に比較できます(すべての基本タイプでオーバーロードを使用できます)。 C#にそのようなものはありますか?C#で2つの配列の内容を比較する「魔法の」方法はありますか?
180 c#  .net  arrays  compare 

6
多次元配列の幅と高さをどのように取得しますか?
配列を定義しました: int [,] ary; // ... int nArea = ary.Length; // x*y or total area これはすべて順調で良いですが、この配列がxとのy次元でどれだけ広いかを個別に知る必要があります。つまり、ary.Length12を返す可能性がありますが、それは配列が高さ4と幅3、または高さ6と幅2であることを意味しますか? この情報を取得するにはどうすればよいですか?

5
LINQ SELECTで非同期待機
既存のプログラムを変更する必要があり、次のコードが含まれています。 var inputs = events.Select(async ev => await ProcessEventAsync(ev)) .Select(t => t.Result) .Where(i => i != null) .ToList(); しかし、これは最初のすべての使用の、私にとって非常に奇妙なようだasyncし、await選択します。スティーブン・クリアリーのこの回答によると、私はそれらを落とすことができるはずです。 次に、Select結果を選択する2番目。これは、タスクがまったく非同期ではなく、同期的に実行される(何もしないために多大な労力を要する)ことを意味しませんか?それとも、タスクは非同期的に実行され、完了したら残りのクエリが実行されますか? 私はに応じて次のように上記のコードを記述する必要がありステファン・クリアリーによって別の答え: var tasks = await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev))); var inputs = tasks.Where(result => result != null).ToList(); そしてそれはこのように完全に同じですか? var inputs = (await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev)))) .Where(result => result != null).ToList(); このプロジェクトに取り組んでいる間、最初のコードサンプルを変更したいのですが、(適切に機能している)非同期コードの変更にはあまり熱心ではありません。多分私は何も心配していません、そして3つのコードサンプルはすべてまったく同じことをしていますか? …
180 c#  linq  asynchronous 

15
EF Coreを使用してASP.NET Coreで移行を適用解除する方法
PM> Remove-Migration -context BloggingContextVS2015で、EF Coreを使用してASP.NET Coreプロジェクトで実行すると、次のエラーが発生します。 System.InvalidOperationException: The migration '20160703192724_MyFirstMigration' has already been applied to the database. Unapply it and try again. If the migration has been applied to other databases, consider reverting its changes using a new migration. at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.RemoveMigration(String projectDir, String rootNamespace, Boolean force) at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.RemoveMigration(String contextType, Boolean …

8
.NET:POSTをデータと共に送信して応答を読み取る最も簡単な方法
驚いたことに、.NET BCLでは、これほど単純なことは何も言えません。 byte[] response = Http.Post ( url: "http://dork.com/service", contentType: "application/x-www-form-urlencoded", contentLength: 32, content: "home=Cosby&favorite+flavor=flies" ); 上記の架空のコードは、データを使用してHTTP POSTを実行Postし、静的クラスのメソッドからの応答を返しますHttp。 これほど簡単なものがないので、次善の策は何ですか? データを含むHTTP POSTを送信し、応答のコンテンツを取得するにはどうすればよいですか?

9
InvokeRequiredコードパターンの自動化
イベント駆動型GUIコードで次のコードパターンを記述する必要がある頻度を痛感しました。 private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } になる: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else { object1.Visible = true; object2.Visible = false; } } これは、覚えたり入力したりするための、C#での厄介なパターンです。誰かがこれをある程度自動化する何らかのショートカットや構造を思いついたことがありますか?object1.InvokeIfNecessary.visible = trueタイプショートカットのように、この追加のすべての作業を行わずに、このチェックを行う関数をオブジェクトにアタッチする方法があったら、すばらしいでしょう。 前の答えはちょうどたびに呼び出しを()を呼び出すの非現実を議論してきた、とさえ[起動()構文が非効率的との両方で、まだ対処しにくいです。 それで、誰かがショートカットを見つけましたか?

14
XML文字列をオブジェクトに変換
ソケットを介してXML文字列を受信して​​いますが、これらをC#オブジェクトに変換したいと考えています。 メッセージの形式は次のとおりです。 <msg> <id>1</id> <action>stop</action> </msg> 私は.Netを初めて使用するので、これを実行するためのベストプラクティスがわかりません。以前にJAXB for Javaを使用したことがあり、同様のものがあるかどうか、またはこれが別の方法で処理されるかどうかはわかりませんでした。


5
web.configでセッションタイムアウトを設定する方法
ASP.Net Webアプリケーションのインプロセスセッションのセッションタイムアウト値を設定する方法についての解決策が見つかりません。 VSTS 2008 + .Net 3.5 + C#を使用しています。タイムアウトを1分に設定するために私が自分で書いたものですが、正しいですか? 私はsystem.webセクションの下に書いた web.config <sessionState timeout="1" mode="InProc" />

6
C#.NETのApp.configとは何ですか?どうやって使うのですか?
データベースファイルがExcelワークブックであるプロジェクトをC#.NETで実行しました。接続文字列の場所は私のコーディングでハードコーディングされているので、システムにインストールすることには問題はありませんが、他のシステムにはあります。 アプリケーションのセットアップが完了したら、ユーザーにパスを設定するように促す方法はありますか? 私が得た答えは「Use App.Config」でした...このApp.configとは何か、そして私のコンテキストでそれをどのように使用するかを誰かにここで教えてもらえますか?
179 c#  .net  app-config 

5
Dispose()は、nullオブジェクトのusingステートメントで呼び出されますか?
using(潜在的に)nullオブジェクトでステートメントを使用しても安全ですか? 次の例を検討してください。 class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } Disposeオブジェクトがnullでない場合にのみ呼び出されることが保証されていますNullReferenceExceptionか?
179 c#  idisposable  using 

10
オブジェクトをintにキャストするより良い方法
これはおそらく些細なことですが、私はそれを行うためのより良い方法を考えることができません。C#でオブジェクトになるバリアントを返すCOMオブジェクトがあります。これをintに入れる唯一の方法は int test = int.Parse(string.Format("{0}", myobject)) これを行うよりクリーンな方法はありますか?ありがとう
179 c#  interop 

9
System.IO.Compressionを使用してメモリにZIPアーカイブを作成する
MemoryStream次のように使用して、簡単なデモテキストファイルでZIPアーカイブを作成しようとしています。 using (var memoryStream = new MemoryStream()) using (var archive = new ZipArchive(memoryStream , ZipArchiveMode.Create)) { var demoFile = archive.CreateEntry("foo.txt"); using (var entryStream = demoFile.Open()) using (var streamWriter = new StreamWriter(entryStream)) { streamWriter.Write("Bar!"); } using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create)) { stream.CopyTo(fileStream); } } このコードを実行すると、アーカイブファイル自体は作成されますが、foo.txtは作成されません。 ただし、をMemoryStreamファイルストリームに直接置き換えると、アーカイブは正しく作成されます。 using (var fileStream …
179 c#  .net  zip  compression  ziparchive 

11
List <DerivedClass>をList <BaseClass>に変換します
基本クラス/インターフェースから継承できますが、List&lt;&gt; 同じクラス/インターフェースを使用して宣言できないのはなぜですか? interface A { } class B : A { } class C : B { } class Test { static void Main(string[] args) { A a = new C(); // OK List&lt;A&gt; listOfA = new List&lt;C&gt;(); // compiler Error } } 回避策はありますか?

14
C#でのハッシュおよびソルトパスワード
ユーザーパスワードのハッシュに関するDavidHaydenの記事の1つを読んでいました。 本当に私は彼が達成しようとしていることを得ることができません。 これが彼のコードです: private static string CreateSalt(int size) { //Generate a cryptographic random number. RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); byte[] buff = new byte[size]; rng.GetBytes(buff); // Return a Base64 string representation of the random number. return Convert.ToBase64String(buff); } private static string CreatePasswordHash(string pwd, string salt) { string saltAndPwd = String.Concat(pwd, …
178 c#  hash  passwords  salt 

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