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

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



5
\ dは[0-9]よりも効率的ではありません
昨日、誰かがor ではなく正規表現で使用[0123456789]した回答にコメントしました。おそらく、文字セットよりも範囲または桁指定子を使用する方が効率的であると私は言いました。[0-9]\d 私はそれを本日テストすることに決め、驚いたことに(少なくともC#の正規表現エンジンでは)\d他の2つのどちらよりも効率が悪く、それほど大きな違いはないようです。これは、実際に数字を含む5077の1000個のランダムな文字からなる10000個のランダムな文字列のテスト出力です。 Regular expression \d took 00:00:00.2141226 result: 5077/10000 Regular expression [0-9] took 00:00:00.1357972 result: 5077/10000 63.42 % of first Regular expression [0123456789] took 00:00:00.1388997 result: 5077/10000 64.87 % of first 次の2つの理由から、これは驚きです。 範囲はセットよりもはるかに効率的に実装されると思っていたでしょう。 \dがよりも悪い理由を理解できません[0-9]。\d単に省略形以上のものがあり[0-9]ますか? ここにテストコードがあります: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Text.RegularExpressions; namespace SO_RegexPerformance …
1249 c#  regex  performance 

20
オブジェクトのプロパティでList <T>を並べ替える方法
私はと呼ばれるクラスの持っているOrderような特性を有しているOrderId、OrderDate、Quantity、とTotal。このOrderクラスのリストがあります: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders 次に、Orderオブジェクトの1つのプロパティに基づいてリストを並べ替えます。たとえば、注文日または注文IDで並べ替える必要があります。 C#でこれを行うにはどうすればよいですか?
1249 c#  generics  list  sorting 

30
URLのPath.Combine?
Path.Combineは便利ですが、URLの .NETフレームワークにも同様の機能はありますか? 私はこのような構文を探しています: Url.Combine("http://MyUrl.com/", "/Images/Image.jpg") 返すでしょう: "http://MyUrl.com/Images/Image.jpg"
1244 c#  .net  asp.net  url  path 

21
Tを列挙型に制限するジェネリックメソッドを作成する
Enum.Parseという概念を拡張する関数を構築しています Enum値が見つからない場合にデフォルト値を解析できるようにします 大文字と小文字は区別されません だから私は以下を書きました: public static T GetEnumFromString&lt;T&gt;(string value, T defaultValue) where T : Enum { if (string.IsNullOrEmpty(value)) return defaultValue; foreach (T item in Enum.GetValues(typeof(T))) { if (item.ToString().ToLower().Equals(value.Trim().ToLower())) return item; } return defaultValue; } エラー制約は特別なクラスにはできませんSystem.Enum。 十分に公平ですが、Generic Enumを許可する回避策はありますか、またはParse関数を模倣して型を属性として渡す必要があります。これにより、醜いボックス化の要件がコードに強制されます。 編集以下のすべての提案は感謝されています。 解決しました(大文字と小文字を区別しないようにループを抜けました-XMLの解析時にこれを使用しています) public static class EnumUtils { public static T ParseEnum&lt;T&gt;(string value, T …

27
JavaScriptSerializer-文字列としての列挙型のJSONシリアル化
OverаэтотвопросестьответынаStack Overflowнарусском:Сериализацияenumвjsonввидестроки enumプロパティを含むクラスがあり、を使用してオブジェクトをシリアル化するJavaScriptSerializerと、jsonの結果にはstring「名前」ではなく列挙型の整数値が含まれます。stringカスタムを作成せずに、jsonで列挙型を取得する方法はありJavaScriptConverterますか?おそらく、enum定義またはオブジェクトプロパティを装飾できる属性があるのでしょうか。 例として: enum Gender { Male, Female } class Person { int Age { get; set; } Gender Gender { get; set; } } 望ましいjson結果: { "Age": 35, "Gender": "Male" } 理想的には、組み込みの.NETフレームワーククラスを使用して回答を探すことができますが、それができない場合は(Json.netなど)を歓迎します。



20
特定のプロパティに対するLINQのDistinct()
私はそれについて学ぶためにLINQで遊んでDistinctいますが、単純なリストがない場合の使用方法がわかりません(整数の単純なリストは非常に簡単です。これは問題ではありません)。オブジェクトの1つ以上のプロパティのオブジェクトのリストでDistinctを使用したい場合はどうすればよいですか? 例:オブジェクトがの場合、PersonPropertyを使用しIdます。どのようにすればすべてのPersonを取得し、オブジェクトのDistinctプロパティIdでそれらを使用できますか? Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" どのように私は得ることができますPerson1とPerson3?それは可能ですか? LINQでそれができない場合Person、.NET 3.5の一部のプロパティに応じてリストを作成する最良の方法は何ですか?
1095 c#  linq  .net-3.5  distinct 

15
2つの日付の差(日数)を計算しますか?
この質問はJava、JavaScript、およびPHPでは回答されているが、C#では回答されていないようです。では、C#で2つの日付の間の日数を計算するにはどうすればよいでしょうか。
1093 c#  date 

14
IEnumerable <T>とIQueryable <T>を返す
帰国の違いは何であるIQueryable&lt;T&gt;対のIEnumerable&lt;T&gt;一方が他方よりも優先されなければならないときは、? IQueryable&lt;Customer&gt; custs = from c in db.Customers where c.City == "&lt;City&gt;" select c; IEnumerable&lt;Customer&gt; custs = from c in db.Customers where c.City == "&lt;City&gt;" select c;

16
SelectとSelectManyの違い
私は違いを検索してきたSelectとSelectMany私は、適切な答えを見つけることができませんでした。LINQ To SQLを使用する場合の違いを知る必要がありますが、私が見つけたのは標準的な配列の例だけです。 誰かがLINQ To SQLの例を提供できますか?
1074 c#  linq-to-sql  linq 

8
リフレクションを使用してジェネリックメソッドを呼び出すにはどうすればよいですか?
型パラメーターがコンパイル時に不明であるが、実行時に動的に取得される場合にジェネリックメソッドを呼び出す最善の方法は何ですか? 次のサンプルコードについて考えてみましょう。Example()メソッド内で、変数に格納されたものをGenericMethod&lt;T&gt;()使用して呼び出す最も簡潔な方法は何ですか。TypemyType public class Sample { public void Example(string typeName) { Type myType = FindType(typeName); // What goes here to call GenericMethod&lt;T&gt;()? GenericMethod&lt;myType&gt;(); // This doesn't work // What changes to call StaticMethod&lt;T&gt;()? Sample.StaticMethod&lt;myType&gt;(); // This also doesn't work } public void GenericMethod&lt;T&gt;() { // ... } public static void …
1071 c#  .net  generics  reflection 

21
「async」と「await」をいつどのように使用するか
ことを主な事柄の私の理解1からasyncとawait書きやすいコードを作成し、読みすることです-しかし、それらを使用している長時間のロジックを実行するためにバックグラウンドスレッドを産卵に等しいですか? 現在、最も基本的な例を試しています。インラインでコメントを追加しました。はっきりさせてくれませんか? // I don't understand why this method must be marked as `async`. private async void button1_Click(object sender, EventArgs e) { Task&lt;int&gt; access = DoSomethingAsync(); // task independent stuff here // this line is reached after the 5 seconds sleep from // DoSomethingAsync() method. Shouldn't it be reached immediately? …

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