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

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

16
バイト+バイト= int…なぜですか?
このC#コードを見てください。 byte x = 1; byte y = 2; byte z = x + y; // ERROR: Cannot implicitly convert type 'int' to 'byte' byte(またはshort)型に対して実行されたすべての数学の結果は、暗黙的に整数にキャストバックされます。解決策は、結果を明示的にバイトにキャストバックすることです。 byte z = (byte)(x + y); // this works なぜだと思いますか?建築ですか?哲学的? 我々は持っています: int+ int=int long+ long=long float+ float=float double+ double=double では、なぜそうしないのか: byte+ byte=byte short+ short= short? …

22
ジェネリックメソッドを数値型に制限する制約はありますか?
ジェネリック型の引数Tをジェネリック型の引数のみに制限する方法があるかどうか誰かに教えてもらえますか? Int16 Int32 Int64 UInt16 UInt32 UInt64 whereキーワードは承知していますが、専用のインターフェースが見つかりませんこれらのタイプ。 何かのようなもの: static bool IntegerFunction<T>(T value) where T : INumeric
364 c#  generics  constraints 

30
C#での列挙型と文字列の関連付け
Enumerationの型はintでなければならないため、以下は不可能であることを知っています enum GroupTypes { TheGroup = "OEM", TheOtherGroup = "CMB" } 私のデータベースからは、包括的なコード(OEMおよびCMB s)を。私はこの分野をenum何か他の理解できるものにしたいと思います。ターゲットが可読性である場合、ソリューションは簡潔である必要があるためです。 他にどのようなオプションがありますか?
363 c#  .net 



4
インターフェースで定義されたC#4オプションパラメーターがクラスの実装に適用されないのはなぜですか?
あなたがインターフェイス上でオプションのパラメータを指定した場合、私はC#4でのオプションのパラメータを持つことに気づいtは、ドン任意の実装クラスでそのパラメータのオプションを行う必要があります。 public interface MyInterface { void TestMethod(bool flag = false); } public class MyClass : MyInterface { public void TestMethod(bool flag) { Console.WriteLine(flag); } } したがって: var obj = new MyClass(); obj.TestMethod(); // compiler error var obj2 = new MyClass() as MyInterface; obj2.TestMethod(); // prints false オプションのパラメーターがこのように機能するように設計されている理由を誰かが知っていますか? 一方では、インターフェースで指定されたデフォルト値をオーバーライドする機能は便利だと思いますが、正直なところ、インターフェースでデフォルト値を指定できるかどうかは、実装の決定であるためわかりません。 一方、この切断は、具象クラスとインターフェースを常に交換して使用できるわけではないことを意味します。もちろん、これは実装でデフォルト値が指定されている場合は問題になりませんが、具体的なクラスをインターフェースとして公開している場合(たとえば、IOCフレームワークを使用して具体的なクラスを挿入する場合)、実際にはありません。呼び出し側は常にデフォルト値を提供する必要があるため、デフォルト値を持つポイント。

8
値で辞書キーを取得する
C#で値によって辞書キーを取得するにはどうすればよいですか? Dictionary<string, string> types = new Dictionary<string, string>() { {"1", "one"}, {"2", "two"}, {"3", "three"} }; 私はこのようなものが欲しい: getByValueKey(string value); getByValueKey("one")返品する必要があります"1"。 これを行う最良の方法は何ですか?たぶんHashTable、SortedLists?
361 c#  dictionary 

9
MVC 3で現在のページのURLを取得する方法
作成中のブログでFacebookコメントプラグインを使用しています。これには、ページで参照されているFacebookのJavaScriptによって解釈されるいくつかのFBXMLタグがあります。 これはすべて正常に機能しますが、現在の完全修飾URLをプラグインに渡す必要があります。 <div style="width: 900px; margin: auto;"> <div id="fb-root"></div> <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments> </div> 現在のページのURLを取得する最良の方法は何ですか?リクエストURL。 解決 これが私のソリューションの最終コードです: <fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>
360 c#  asp.net  asp.net-mvc  razor 

9
多対多の関係でICollectionを使用し、IEnumerableまたはList <T>を使用しないのはなぜですか?
これは、ナビゲーションプロパティがのチュートリアルでよく見られICollection&lt;T&gt;ます。 これはEntity Frameworkの必須要件ですか?使用できますIEnumerableか? ICollection代わりに、IEnumerableあるいはさらに使用する主な目的は何List&lt;T&gt;ですか?

7
IEnumerableの複数の列挙の可能性に関する警告の処理
私のコードでは、IEnumerable&lt;&gt;数回使用する必要があるため、「可能性のある複数の列挙」のResharperエラーが発生しますIEnumerable。 サンプルコード: public List&lt;object&gt; Foo(IEnumerable&lt;object&gt; objects) { if (objects == null || !objects.Any()) throw new ArgumentException(); var firstObject = objects.First(); var list = DoSomeThing(firstObject); var secondList = DoSomeThingElse(objects); list.AddRange(secondList); return list; } objectsパラメータをに変更してList、考えられる複数の列挙を回避できますが、処理できる最高のオブジェクトを取得できません。 私が行うことができますもう一つは、変換することであるIEnumerableにListメソッドの最初に: public List&lt;object&gt; Foo(IEnumerable&lt;object&gt; objects) { var objectList = objects.ToList(); // ... } しかし、これはただ厄介なことです。 このシナリオで何をしますか?


25
Visual Studioを使用しているときに、ファイルのビルドバージョンを自動的にインクリメントできますか?
Visual Studio(2005)を使用してファイルのビルド(およびバージョン?)を自動的にインクリメントする方法を知りたがっていました。 sayのプロパティを検索するとC:\Windows\notepad.exe、[バージョン]タブに「ファイルバージョン:5.1.2600.2180」と表示されます。私のDLLのバージョンでもこれらのクールな数値を取得したいのですが、バージョン1.0.0.0ではなく、少し退屈に直面しています。 私はいくつかのことを試しましたが、すぐに使える機能ではないようです。あるいは、(いつものように)間違った場所を探しているだけかもしれません。 私は主にWebプロジェクトを扱っています。 私は両方を見ました: http://www.codeproject.com/KB/dotnet/Auto_Increment_Version.aspx http://www.codeproject.com/KB/dotnet/build_versioning.aspx そして、何かをするためのそれほどの努力が標準的な実践であるとは信じられませんでした。 編集: 私が知る限り、VS2005では機能しません(http://www.codeproject.com/KB/dotnet/AutoIncrementVersion.aspx)


4
文字列からXDocumentに入力
私は少し何かに取り組んでおり、文字列からXDocumentをロードできるかどうかを確認しようとしています。XDocument.Load()渡された文字列を物理XMLファイルへのパスとして受け取るようです。 最初に物理的なXMLファイルを作成し、XDocumentの作成にすぐにジャンプする必要があるという手順を回避したいと思います。 何か案は?
358 c#  xml  c#-3.0  linq-to-xml 

15
文字列からすべての空白を削除する効率的な方法?
REST APIを呼び出しており、XML応答を受け取ります。それはワークスペース名のリストを返します、そして私は簡単なIsExistingWorkspace()メソッドを書いています。すべてのワークスペースは空白のない連続した文字で構成されているため、特定のワークスペースがリストにあるかどうかを確認する最も簡単な方法は、すべての空白(改行を含む)を削除してこれを実行することです(XMLはWebから受け取った文字列です)リクエスト): XML.Contains("&lt;name&gt;" + workspaceName + "&lt;/name&gt;"); 大文字と小文字が区別されることを知っているので、これに依存しています。文字列内のすべての空白を効率的に削除する方法が必要です。RegExとLINQがそれを実行できることは知っていますが、他のアイデアを受け入れます。私は主に速度について心配しています。

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