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

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


6
ロックされたオブジェクトは、その内部で例外が発生した場合、ロックされたままになりますか?
ac#スレッドアプリで、オブジェクトをロックする場合、キューとしましょう。例外が発生した場合、オブジェクトはロックされたままになりますか?疑似コードは次のとおりです。 int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch { MessageBox.Show("Error parsing string"); } } 私が理解しているように、catchの後のコードは実行されませんが、ロックが解放されるかどうか疑問に思っていました。

5
連続したメモリを備えたC ++ベクトルと同等のC#?
C ++ベクトルに相当するC#は何ですか? 私はこの機能を探しています: 標準アレイと比較してアクセスのパフォーマンスを低下させない、連続して格納されたメモリの動的アレイを用意する。 私が探していたところ、彼らはこう言っています.NET equivalent to the vector in C++ is the ArrayList: ArrayListにはその連続したメモリ機能がありますか?
87 c#  c++  vector 

4
非同期BlockingCollection <T>のようなものはありますか?
非同期awaitの結果を確認したいBlockingCollection&lt;T&gt;.Take()ので、スレッドをブロックしません。このようなものを探しています: var item = await blockingCollection.TakeAsync(); 私はこれができることを知っています: var item = await Task.Run(() =&gt; blockingCollection.Take()); しかし、ThreadPool代わりに(の)別のスレッドがブロックされるため、それはアイデア全体をやや殺します。 代替手段はありますか?

3
ディクショナリに渡されるモデルアイテムのタイプは..ですが、このディクショナリにはタイプのモデルアイテムが必要です
この質問とコミュニティウィキの回答は、このメタ投稿で説明されているように、多数の未回答の質問を閉じるのに役立つように追加されました。 私はいくつかのコードを持っています、そしてそれが実行されるとき、それは言う例外を投げます: ディクショナリに渡されるモデルアイテムはタイプBarですが、このディクショナリにはタイプFooのモデルアイテムが必要です。 これはどういう意味ですか、どうすれば修正できますか?
87 c#  asp.net-mvc 

3
配列を文字列に変換する
この出力を文字列にするにはどうすればよいですか? List&lt;string&gt; Client = new List&lt;string&gt;(); foreach (string listitem in lbClients.SelectedItems) { Client.Add(listitem); }
87 c#  arrays  string 

20
クラスライブラリを参照できないのはなぜですか?
Visual Studio2008のWebサイトとクラスライブラリを含むソリューションがあります。 次に、クラスライブラリを参照する必要があるソリューションの外部に別のWebサイトプロジェクトがあります。Binフォルダーまたはプロジェクトを右クリックして[参照の追加]を選択し、[クラスライブラリプロジェクト]を選択すると、クラスライブラリに必要な15個程度のDLLがWebサイトのbinフォルダーに追加されますが、.csファイルはいずれもusingステートメントを認識しません。 using MyLibrary.MyFolder; それはそれを解決できないと言っています、そしてReSharperはそれが使われていないのでそれが安全に取り除かれることができると言っています。 ReSharperは、参照が必要であることを認識し、「MyLibraryを参照してMyFolderを使用する」ことを提案します。すでに持っている参照を追加することを提案している理由がわかりません。私が提案に行くとき、私はエラーを受け取ります 「参照モジュールに失敗しました。おそらく、参照によってプロジェクト間の循環依存関係が生成されます。」 Webサイトのプロパティページに移動し、すべての参照を削除して再度追加しようとしましたが、同じエラーが発生します。これが機能しない理由はありますか?



9
Visual Studio2015は非常に遅い
Visual Studio 2015 Professional Editionをインストールしました。コンピューターの仕様は、Intel i7-3770 CPU 3.40 GHz、8 GB RAM、およびWindows 7 Enterprise64ビットです。 プロジェクトをVisualStudio 2005 .NET2.0で記述された.NET4.6にアップグレードしたいのですが、速度に関して深刻な問題があります。Visual Studio 2015で自分のプロジェクト(巨大なプロジェクト)を開いた後、それはおかしくなります。メニューの作成、デバッグ、開くのが遅すぎます。「応答していません」というメッセージが表示されることがあります。それはWindows7に関するものですか、それとも私の速度の問題について何かアドバイスをいただけますか?

15
C#でIListを並べ替える
それで、今日、私は興味深い問題に遭遇しました。IListを返すWCFWebサービスがあります。並べ替えるまでは大したことではありません。 IListインターフェイスにはsortメソッドが組み込まれていないことがわかりました。 私はArrayList.Adapter(list).Sort(new MyComparer())問題を解決するためにこの方法を使用することになりましたが、それは私には少し「ゲットー」のように見えました。 私は拡張メソッドを作成し、IListから継承し、独自のSort()メソッドを実装し、リストにキャストすることを楽しみましたが、これらはどれも過度にエレガントに見えませんでした。 だから私の質問は、誰かがIListをソートするためのエレガントな解決策を持っていますか?
86 c#  generics  sorting  ilist 

6
Assert.AreEqual(T obj1、Tobj2)が同一のバイト配列で失敗するのはなぜですか
次のコードセグメントに2つの同一のバイト配列があります。 /// &lt;summary&gt; ///A test for Bytes ///&lt;/summary&gt; [TestMethod()] public void BytesTest() { byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData); TransferEventArgs target = new TransferEventArgs(bytes); byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue); byte[] actual; actual = target.Bytes; Assert.AreEqual(expected, actual); } 両方の配列は、バイト単位まで同一です。このシナリオでは、なぜAssert.AreEqualが失敗するのでしょうか。

3
C#/。NETで2つの画像をマージする
簡単なアイデア:マージしたい2つの画像があります。1つは中央で透明な500x500で、もう1つは150x150です。 基本的な考え方は次のとおりです。500x500の空のキャンバスを作成し、150x150の画像を空のキャンバスの中央に配置してから、500x500の画像をコピーして、中央が透明になるように150x150が透けて見えるようにします。 Java、PHP、Pythonでそれを行う方法を知っています... C#で使用するオブジェクト/クラスがわからないので、画像を別の画像にコピーする簡単な例で十分です。
86 c#  .net  image 

7
一意の文字列の効率的なリストC#
重複を無視して文字列のリストを保存する最も効率的な方法は何ですか?dict [str] = false;と書くことで、辞書に文字列を挿入するのが最善だと思っていました。キーをリストとして列挙します。それは良い解決策ですか?
86 c#  unique-values 

6
ロックフリーマルチスレッディングは、実際のスレッディングの専門家向けです
私はジョン・スキートが質問に与えた答えを読んでいて、その中で彼はこれに言及しました: 私に関する限り、ロックフリーマルチスレッドは実際のスレッドの専門家向けであり、私はその専門家ではありません。 これを聞いたのは初めてではありませんが、ロックフリーのマルチスレッドコードの記述方法を学ぶことに興味がある場合、実際にどのように行うかについて話している人はほとんどいません。 だから私の質問は、スレッド化などについてあなたができるすべてを学ぶことに加えて、ロックフリーのマルチスレッドコードを具体的に書くことをどこから学び始めますか、そしていくつかの良いリソースは何ですか? 乾杯

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