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

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

10
「似ている」Unicode文字を比較する方法は?
私は意外な問題に陥ります。 アプリケーションにテキストファイルをロードし、µの値を比較するロジックがあります。 そして、テキストが同じでも比較値がfalseであることに気付きました。 Console.WriteLine("μ".Equals("µ")); // returns false Console.WriteLine("µ".Equals("µ")); // return true 後の行で、文字µがコピーペーストされます。 ただし、このような文字はこれらだけではない可能性があります。 同じように見えても実際には異なる文字をC#で比較する方法はありますか?

13
C#とC-パフォーマンスの大きな違い
CとC#の類似コード間でパフォーマンスの大きな違いを見つけています。 Cコードは次のとおりです。 #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC); } そして、C#(コンソールアプリ)は次のとおりです。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { …
94 c#  c  performance 

10
C#で文字列の最後の文字を削除する方法は?
次の方法で投稿リクエストの文字列を作成します、 var itemsToAdd = sl.SelProds.ToList(); if (sl.SelProds.Count() != 0) { foreach (var item in itemsToAdd) { paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString()); } } 結果が出たらparamstr、最後の文字を削除する必要があり&ます C#を使用して文字列の最後の文字を削除するにはどうすればよいですか?
94 c#  string 

6
MVC Razorビューのネストされたforeachモデル
一般的なシナリオを想像してみてください。これは私が遭遇しているもののより単純なバージョンです。実際、私はさらにいくつかのネストを重ねています... しかし、これはシナリオです テーマはリストを含むカテゴリーはリストを含む製品はリストを含む 私のコントローラーは、完全に入力されたテーマを提供し、そのテーマのすべてのカテゴリー、このカテゴリー内の製品、およびその注文が含まれます。 注文コレクションには、(他の多くの中で)数量と呼ばれる編集可能である必要があるプロパティがあります。 @model ViewModels.MyViewModels.Theme @Html.LabelFor(Model.Theme.name) @foreach (var category in Model.Theme) { @Html.LabelFor(category.name) @foreach(var product in theme.Products) { @Html.LabelFor(product.name) @foreach(var order in product.Orders) { @Html.TextBoxFor(order.Quantity) @Html.TextAreaFor(order.Note) @Html.EditorFor(order.DateRequestedDeliveryFor) } } } 代わりにlambdaを使用すると、最上位のModelオブジェクトへの参照のみを取得しているように見えます。「テーマ」は、foreachループ内のものではありません。 私がそこでやろうとしていることは可能ですか、それとも可能なことを過大評価または誤解していますか? 上記で、TextboxFor、EditorForなどでエラーが発生します CS0411:メソッド 'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper、System.Linq.Expressions.Expression>)'の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。 ありがとう。

20
DeploymentItem属性の問題
私は現在、C#.netで記述された「古い」システムを維持しており、古い機能をいくつか削除して、リファクタリングを行っています。ありがとう、前の男はいくつかの単体テスト(MSTests)を書いた。私はJUnitテストにはかなり慣れていますが、MSTestにはまだあまり対応していません。 テストメソッドにはDeploymentItem属性があり、テストされているビジネスロジックメソッドによって解析されるテキストファイルと、DeploymentItem展開する必要がある一連のTIFファイルを含むパスのみが指定されている2番目のテキストファイルを指定します。 [TestMethod()] [DeploymentItem(@"files\valid\valid_entries.txt")] [DeploymentItem(@"files\tif\")] public void ExistsTifTest() { ... } テストは以前は機能していましたが、今は\ files \ tifディレクトリに含まれるTIFファイルの名前を変更する必要がありました。ルールによると、TIFファイル名は特定のパターンと一致する必要があり、これもExistsTifTest()メソッドによってチェックされます。新しい要件に合わせるためにファイル名を変更する必要がありましたが、突然、TIFファイルは以前のように展開されなくなりました。 誰かがこれがなぜ起こるのか、何が原因であるのかについてのヒントを教えてくれますか?テストファイルのDeploymentItem属性に応じて、\ files \ valid \ディレクトリの "valid_entries.txt"の横に "my2ndTest.txt"と言う新しいテキストファイルを追加しても、同じことが起こります。ファイルが展開されませんか? testrunco​​nfigで展開パスを直接定義してイメージを展開しましたが、なぜこれらのことが発生するのか、またはたとえば、新しいファイル "my2ndTest.txt"が他のインスタンスで展開されないのはなぜですか?

5
C#とJavaの三項演算子の違い(?:)
私はC#初心者ですが、問題が発生しました。三項演算子(? :)を扱う場合、C#とJavaには違いがあります。 次のコードセグメントで、4行目が機能しないのはなぜですか?コンパイラはのエラーメッセージを表示しますthere is no implicit conversion between 'int' and 'string'。5行目も機能しません。どちらListもオブジェクトですよね。 int two = 2; double six = 6.0; Write(two > six ? two : six); //param: double Write(two > six ? two : "6"); //param: not object Write(two > six ? new List<int>() : new List<string>()); //param: not object …

17
戦略パターンの実例
OCPプリンシパルと、これを達成するための戦略パターンの使用方法について読んでいます。 私はこれを数人に説明しようと試みましたが、考えられる唯一の例は、「注文」のステータスに基づいて異なる検証クラスを使用することです。 私はいくつかの記事をオンラインで読みましたが、これらは通常、レポート/請求書/検証などの戦略を使用する本当のような理由を説明していません... 戦略パターンが一般的であると考える実例はありますか?


7
Dictionary <TKey、TValue>エントリにコレクション初期化子を使用できますか?
コードの次のビットにコレクション初期化子を使用したいと思います。 public Dictionary&lt;int, string&gt; GetNames() { Dictionary&lt;int, string&gt; names = new Dictionary&lt;int, string&gt;(); names.Add(1, "Adam"); names.Add(2, "Bart"); names.Add(3, "Charlie"); return names; } したがって、通常は次のようになります。 return new Dictionary&lt;int, string&gt; { 1, "Adam", 2, "Bart" ... しかし、これの正しい構文は何ですか?

30
C#のどのReSharper 4+ライブテンプレートを使用していますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 C#用のどのReSharper 4.0テンプレートを使用していますか? これらを次の形式で共有しましょう。 [題名] オプションの説明 ショートカット:ショートカット 使用可能な場所: [AvailabilitySetting] // Resharper template code snippet // comes here マクロのプロパティ(存在する場合): Macro1-値-EditableOccurence Macro2-値-EditableOccurence 回答ごとに1つのマクロをお願いします。 以下は、推奨される形式でライブテンプレートを説明するNUnitテストフィクスチャとスタンドアロンNUnitテストケースのサンプルです。

9
オブジェクトがC#でシリアル化可能かどうかを確認する方法
C#のオブジェクトがシリアル化可能かどうかを確認する簡単な方法を探しています。 ご存知のとおり、ISerializableインターフェイスを実装するか、[Serializable]をクラスの先頭に配置することにより、オブジェクトをシリアル化可能にします。 私が探しているのは、属性を取得するためにクラスを反映する必要なく、これをすばやくチェックする方法です。isステートメントを使用すると、インターフェイスが高速になります。 @Flardの提案を使用して、これは私が思いついたコードです。悲鳴はより良い方法があるということです。 private static bool IsSerializable(T obj) { return ((obj is ISerializable) || (Attribute.IsDefined(typeof (T), typeof (SerializableAttribute)))); } または、オブジェクトのタイプを取得してから、そのタイプでIsSerializableプロパティを使用することもできます。 typeof(T).IsSerializable これは、クラスに他のクラスが含まれている場合に対処しているクラスだけに思えるかもしれませんが、すべてを確認するか、@ pbが指摘したようにシリアル化してエラーを待機する必要があります。
94 c#  serialization 


14
Enum値のTryParseの方法
特定の値(文字列として渡される)をの可能な値に対して検証できる関数を書きたいのですがenum。一致した場合は、列挙インスタンスを返す必要があります。それ以外の場合は、デフォルト値を返します。 関数は内部的にtry/を使用できませんcatch。これはEnum.Parse、無効な引数が指定された場合に例外をスローするの使用を除外します。 TryParseこれを実装するために、関数の線に沿って何かを使用したいと思います。 public static TEnum ToEnum&lt;TEnum&gt;(this string strEnumValue, TEnum defaultValue) { object enumValue; if (!TryParse (typeof (TEnum), strEnumValue, out enumValue)) { return defaultValue; } return (TEnum) enumValue; }
94 c#  enums 

7
プログラマーはSSISを使用する必要がありますか?使用する場合、なぜですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 .NET開発者として、コードを書くよりもSSISパッケージを好む理由は何ですか?現在私が作業しているパッケージには、大量のパッケージがあり、それらは "書き込み"(おそらく描画?)と維持の両方にとって悪夢です。各パッケージは、抽象化が機能しなくなったポイントでC#とVB.NETのスクリプトが混在した、色とりどりのスパゲッティのボウルのように見えます。それぞれの「SQLタスクの実行」または「Foreachループ」の機能を理解するには、のろわれたものをダブルクリックし、複数のタブに散らばったリテラル値と式のツリーを参照する必要があります。 私は心を開いているので、他の優れた開発者がコードを書くだけでなくSSISの生産性を高めているかどうか知りたいのですが。SSISの生産性が向上した場合は、その理由を教えてください。
94 c#  .net  sql-server  ssis 

13
タプルが解決するために設計された要件は何ですか?
タプルの新しいC#機能を見ています。気になるのですが、タプルが解決するために設計された問題は何ですか? アプリでタプルを何に使用しましたか? 更新 これまでの回答に感謝します。頭の中で真っ直ぐになっているかどうか確認してみましょう。タプルの良い例が座標として指摘されています。これは正しく見えますか? var coords = Tuple.Create(geoLat,geoLong); 次に、タプルを次のように使用します。 var myLatlng = new google.maps.LatLng("+ coords.Item1 + ", "+ coords.Item2 + "); あれは正しいですか?
94 c#  tuples 

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