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

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

3
WebRequestの本文データを設定する
ASP.NETでWebリクエストを作成していて、大量のデータを本文に追加する必要があります。それ、どうやったら出来るの? var request = HttpWebRequest.Create(targetURL); request.Method = "PUT"; response = (HttpWebResponse)request.GetResponse();
122 c#  httpwebrequest 

15
スレッドセーフなList <T>プロパティ
私はList&lt;T&gt;間違いなくスレッドセーフに使用できるプロパティとしての実装を望んでいます。 このようなもの: private List&lt;T&gt; _list; private List&lt;T&gt; MyT { get { // return a copy of _list; } set { _list = value; } } コレクションのコピー(複製)を返す必要があるようですが、どこかでコレクションを反復処理していて、同時にコレクションが設定されている場合、例外は発生しません。 スレッドセーフなコレクションプロパティを実装する方法は?

10
c#で動的匿名型にプロパティが存在するかどうかを確認するにはどうすればよいですか?
プロパティからチェックインしたいメソッドから動的として受け取る匿名タイプのオブジェクトがそのオブジェクトに存在します。 .... var settings = new { Filename="temp.txt", Size=10 } ... function void Settings(dynamic settings) { var exists = IsSettingExist(settings,"Filename") } IsSettingExistはどのように実装しますか?


21
Visual Studio 2015はかみそりやIntellisenseを構文強調表示しない
VS2015 RCのRazorビューで、C#コードの適切な色分けが表示されません。私のプロジェクトはVS2013では問題なく機能していましたが、2015年には機能していません。C#コードに関するIntellisenseも提供されていません。ソリューションが構築され、サイトは正常に動作します。 役に立たないように以下を試しました すべてのVisual Studio拡張機能を無効にする .suoファイルを削除する プロジェクトを削除してソリューションに再度追加する どうすれば修正できますか? 例:

6
フラグ列挙型が通常16進値で定義されるのはなぜですか
16進数値を使用するフラグ列挙型宣言がよく見られます。例えば: [Flags] public enum MyEnum { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4, Flag4 = 0x8, Flag5 = 0x10 } 列挙型を宣言するとき、通常は次のように宣言します。 [Flags] public enum MyEnum { None = 0, Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 = 8, Flag5 = 16 } …
121 c#  .net  enums  enum-flags 

3
これはスパルタですか、それともそうですか?
以下はインタビューの質問です。私は解決策を考え出しましたが、なぜそれが機能するのかわかりません。 質問: Spartaクラスを変更せずに、MakeItReturnFalsereturn を実行するコードを記述しますfalse。 public class Sparta : Place { public bool MakeItReturnFalse() { return this is Sparta; } } 私の解決策:(SPOILER) public class Place { public interface Sparta { } } しかし、なぜの代わりにSpartaにMakeItReturnFalse()言及する{namespace}.Place.Spartaの{namespace}.Spartaですか?

19
.NET XMLシリアライゼーションの問題?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 共有したいと思っていたC#XMLシリアル化を実行するときに、いくつかの落とし穴に遭遇しました。 読み取り専用のアイテム(KeyValuePairsなど)をシリアル化することはできません 一般的な辞書をシリアル化することはできません。代わりに、このラッパークラスを試してください(http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspxから): using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; [XmlRoot("dictionary")] public class SerializableDictionary&lt;TKey, TValue&gt; : Dictionary&lt;TKey, TValue&gt;, IXmlSerializable { public System.Xml.Schema.XmlSchema GetSchema() { return null; } public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); bool wasEmpty = reader.IsEmptyElement; reader.Read(); …

4
構造体の整列がフィールドタイプがプリミティブであるかユーザー定義であるかに依存するのはなぜですか?
で野田時間 v2では、我々はナノ秒の解像度に移動しています。つまり、関心のある時間の範囲全体を表すのに8バイト整数を使用できなくなったということです。そのため、野田時間の(多くの)構造体のメモリ使用量を調査するようになりました。 CLRの配置の決定におけるわずかな奇妙さを明らかにするため。 まず、これは実装の決定であり、デフォルトの動作はいつでも変更される可能性があることを理解しています。とを使用して変更できることを理解していますが、可能であればそれを必要としないソリューションを考え出します。[StructLayout][FieldOffset] 私の中心的なシナリオはstruct、参照タイプのフィールドと他の2つの値タイプのフィールドを含むaがあり、これらのフィールドがint。。私はそれが64ビットCLRで16バイトとして表されることを期待していましたが(参照用に8バイト、他のそれぞれに4バイト)、何らかの理由で24バイトを使用しています。ちなみに私は配列を使用してスペースを測定しています-レイアウトは状況によって異なる場合があることは理解していますが、これは妥当な出発点のように感じました。 これは問題を示すサンプルプログラムです: using System; using System.Runtime.InteropServices; #pragma warning disable 0169 struct Int32Wrapper { int x; } struct TwoInt32s { int x, y; } struct TwoInt32Wrappers { Int32Wrapper x, y; } struct RefAndTwoInt32s { string text; int x, y; } struct RefAndTwoInt32Wrappers { string text; Int32Wrapper x, …

19
ASP.NET MVC-同じタイプの別のエンティティに同じ主キー値がすでにあるため、タイプ「MODELNAME」のエンティティのアタッチに失敗しました
一言で言えば、ラッパーモデルのPOST中に、1つのエントリの状態を「変更済み」に変更するときに例外がスローされます。状態を変更する前に、状態は「Detached」に設定されていますが、Attach()を呼び出しても同じエラーがスローされます。EF6を使用しています。 以下のコードを見つけてください(読みやすくするためにモデル名が変更されています) 型番 // Wrapper classes public class AViewModel { public A a { get; set; } public List&lt;B&gt; b { get; set; } public C c { get; set; } } コントローラ public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } if (!canUserAccessA(id.Value)) return …

4
[Authorize]を使用すると、リクエストが構成済みのmaxQueryStringLengthを超える
私はC#にMVC3サイトを持っています。JavaScript関数からクエリパラメータが供給されている特定のビューがあります。関数は、 window.location.href = "../ActionName?" + query_string; query_stringは、JavaScript関数によって作成された動的クエリパラメータ文字列です。 この奇妙さの理由は、reportviewerコントロールを使用する必要があるため、同じ関数がURLをASP.Net Webフォームに渡す場合があるためです。代わりのアクションは、この場合、ビューに渡される一部のパラメーターを保存することです。(それが意味をなさない場合は、さらに詳しく説明できます) アクションメソッドに[Authorize]を導入するまでは、すべてがうまくいきます。所定の位置にある場合は中断し、それがなくても正常に機能し、[Authorize]は他のすべての方法で正常に機能します。 この場合のURL全体は966文字です。調査後、maxQueryStringLengthの値はデフォルトで2048 であるように見えますが、整数型の任意の値にオーバーライドできるので、笑いのために &lt;security&gt; &lt;requestFiltering&gt; &lt;requestLimits maxQueryString="2048"&gt;&lt;/requestLimits&gt; &lt;/requestFiltering&gt; &lt;/security&gt; キーの下のWeb構成ファイルのキー。 そこには喜びがないので、私はとんでもないことになり、それを4096にしたが、それでも喜びはない。 URL全体が966文字であるため、authorize属性で真に1082〜3130文字を追加することはできません。そのため、実際にエラーが何であるか、または設定が有効にならない理由を判断するにはどうすればよいですか。 VS2010 Pro SP1

9
すべてのリストアイテムに同じ値があるかどうかを確認して返す方法、またはそうでない場合は「otherValue」を返す方法
リスト内のすべての項目に同じ値がある場合は、その値を使用する必要があります。それ以外の場合は、「otherValue」を使用する必要があります。これを行うための簡単で明確な方法は考えられません。 コレクションの最初の項目に対して特別なロジックを持つループを書くためのきちんとした方法も参照してください。
121 c#  linq 




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