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

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

30
最も有用な属性[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、事実と引用で回答できるようにします。この投稿を編集。 6年前休業。 私は属性が非常に役立つことを知っています。[Browsable(false)]プロパティタブでプロパティを非表示にできるなど、事前定義されたものがあります。属性を説明するよい質問があります:.NETの属性とは何ですか? プロジェクトで実際に使用する定義済みの属性(およびその名前空間)は何ですか?
784 c#  .net  .net-attributes 

28
コードが含まれているアセンブリのパスを取得するにはどうすればよいですか?
現在のコードが存在するアセンブリのパスを取得する方法はありますか?呼び出し元のアセンブリのパスは必要ありません。コードが含まれているパスだけが必要です。 基本的に、ユニットテストでは、dllに関連して配置されているいくつかのxmlテストファイルを読み取る必要があります。テストdllがTestDriven.NETから実行されているか、MbUnit GUIから実行されているかに関係なく、パスが常に正しく解決されるようにしたい。 編集:人々は私が求めていることを誤解しているようです。 私のテストライブラリはsayにあります C:\ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll そして私はこのパスを取得したいと思います: C:\ projects \ myapplication \ daotests \ bin \ Debug \ これまでの3つの提案は、MbUnit Guiから実行すると失敗します。 Environment.CurrentDirectoryc:\ Program Files \ MbUnit を与えます System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location 与え\ DocumentsとSettings \ジョージ\ローカル設定\一時\ .... \ DaoTests.dll:C System.Reflection.Assembly.GetExecutingAssembly().Location 前と同じを与えます。
781 c#  .net  reflection  mbunit 


9
乱数ジェネレーターは1つの乱数のみを生成します
次の機能があります。 //Function to get random number public static int RandomNumber(int min, int max) { Random random = new Random(); return random.Next(min, max); } 私の呼び方: byte[] mac = new byte[6]; for (int x = 0; x < 6; ++x) mac[x] = (byte)(Misc.RandomNumber((int)0xFFFF, (int)0xFFFFFF) % 256); ランタイム中にそのループをデバッガーでステップすると、異なる値が得られます(これが私が望んでいることです)。ただし、そのコードの2行下にブレークポイントを配置すると、mac配列のすべてのメンバーの値が等しくなります。 なぜそれが起こるのですか?
765 c#  random 



19
UnixタイムスタンプをDateTimeに、またはその逆に変換するにはどうすればよいですか?
このサンプルコードがありますが、それからミリ秒/ナノ秒の問題について話し始めます。 同じ質問がMSDN にもあります。C#のUnixエポックからの秒数です。 これは私がこれまでに得たものです: public Double CreatedEpoch { get { DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime(); TimeSpan span = (this.Created.ToLocalTime() - epoch); return span.TotalSeconds; } set { DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime(); this.Created = epoch.AddSeconds(value); } }

30
見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません
C#Windowsフォームアプリケーション(Visual Studio 2005)でいくつかの単体テストを実行しようとすると、次のエラーが発生します。 System.IO.FileLoadException:ファイルまたはアセンブリ 'Utility、Version = 1.2.0.200、Culture = neutral、PublicKeyToken = 764d581291d764f7'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)** x.Foo.FooGO()で Foo.cs:line 123のx.Foo.Foo2(String groupName_)で FooTests.cs:line 98 **のx.Foo.UnitTests.FooTests.TestFoo()で System.IO.FileLoadException:ファイルまたはアセンブリ 'Utility、Version = 1.2.0.203、Culture = neutral、PublicKeyToken = 764d581291d764f7'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) 私は自分の参照を調べて、参照しているのはUtility version 1.2.0.203(もう1つは古い)だけです。 このDLLファイルのこの古いバージョンを参照しようとしているものを理解する方法に関する提案はありますか? それに、私はこの古いアセンブリをハードドライブに持っているとは思えません。この古いバージョンのアセンブリを検索するツールはありますか?


30
Excelの相互運用オブジェクトを適切にクリーンアップするにはどうすればよいですか?
私はC#(ApplicationClass)でExcel相互運用機能を使用しており、finally句に次のコードを配置しています。 while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); この種の動作はしExcel.exeますが、Excelを閉じた後でも、プロセスはバックグラウンドにあります。アプリケーションが手動で閉じられたときにのみリリースされます。 私は何を間違っていますか、または相互運用オブジェクトが適切に破棄されることを保証する代替手段はありますか?
747 c#  excel  interop  com-interop 

18
ラムダとDistinct()?
そうです、私は列挙可能であり、そこから明確な値を取得したいと考えています。 使用してSystem.Linq、と呼ばれる拡張メソッドは、もちろんありますDistinct。単純なケースでは、次のようにパラメーターなしで使用できます。 var distinctValues = myStringList.Distinct(); ええと、いいのですが、等価性を指定する必要があるオブジェクトの列挙可能オブジェクトがある場合、使用できる唯一のオーバーロードは次のとおりです。 var distinctValues = myCustomerList.Distinct(someEqualityComparer); 等価比較引数はのインスタンスでなければなりませんIEqualityComparer<T>。もちろん、私はこれを行うことができますが、それはいくぶん冗長で、まあまあです。 私が期待していたのは、ラムダをとるオーバーロード、たとえばFunc <T、T、bool>です。 var distinctValues = myCustomerList.Distinct((c1, c2) => c1.CustomerId == c2.CustomerId); 誰かがそのような拡張機能が存在するかどうか、または同等の回避策を知っていますか?それとも何か不足していますか? または、インラインでIEqualityComparerを指定する方法はありますか(私を当惑させます)? 更新 この件に関するMSDNフォーラムの投稿に対するAnders Hejlsbergからの返信を見つけました。彼は言う: あなたが遭遇する問題は、2つのオブジェクトが等しい場合、それらは同じGetHashCode戻り値を持つ必要があることです(そうしないと、Distinctによって内部的に使用されるハッシュテーブルが正しく機能しません)。EqualsとGetHashCodeの互換性のある実装を単一のインターフェイスにパッケージ化するため、IEqualityComparerを使用します。 それは理にかなっていると思います

9
DateTimeとDateTimeOffset
現在、DateTimeTimeZone対応の方法で.NETを処理する標準的な方法があります:DateTimeUTCで生成するときはいつでも(たとえばを使用してDateTime.UtcNow)、それを表示するときはいつでも、UTCからユーザーのローカル時間に変換します。 それはうまくいきますが、私はDateTimeOffsetそれがオブジェクト自体のローカル時間とUTC時間をどのようにキャプチャするかについて読んでいます。だから問題は、DateTimeOffset私たちがすでにやっていることに比べて使用することの利点は何でしょうか?

13
HttpClientリクエストのContent-Typeヘッダーをどのように設定しますか?
呼び出しているAPIの要求に応じて、オブジェクトのContent-Typeヘッダーを設定しようとしHttpClientています。 Content-Type以下のように設定してみました: using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri("http://example.com/"); httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json"); // ... } Acceptヘッダーを追加できますが、追加しようとするContent-Typeと次の例外がスローされます。 誤ったヘッダー名。リクエストヘッダーはでHttpRequestMessage、レスポンスヘッダーはHttpResponseMessageで、コンテンツヘッダーはHttpContentオブジェクトで使用してください 。 リクエストにContent-Typeヘッダーを設定するにはどうすればよいHttpClientですか?
739 c#  asp.net  api  http  rest 

30
ASP.NET MVCフレームワークで複数の送信ボタンをどのように処理しますか?
同じフォームから複数の送信ボタンを処理する簡単な方法はありますか?例えば: <% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %> <input type="submit" value="Send" /> <input type="submit" value="Cancel" /> <% Html.EndForm(); %> ASP.NET Framework Betaでこれを行う方法はありますか?私がグーグルで検索したすべての例には、1つのボタンがあります。

20
C#でコマンドライン引数を解析する最良の方法?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 パラメータを取るコンソールアプリケーションを構築する場合、に渡される引数を使用できますMain(string[] args)。 以前は、その配列にインデックスを付けたりループさせたりして、値を抽出するためにいくつかの正規表現を実行しました。ただし、コマンドがさらに複雑になると、解析がかなり醜くなります。 だから私は興味があります: 使用するライブラリ 使用するパターン コマンドは常に、ここで回答されているような一般的な標準に準拠していると想定します。

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