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

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

8
C#でホームディレクトリのパスを取得していますか?
さて、Environment.SpecialFolderを確認しましたが、これについては何もありません。 C#で現在のユーザーのホームディレクトリを取得したいのですが。(例:c:\documents and settings\userXP、c:\users\userVista、/home/userUnixで。) これを見つけるために環境変数を読み取ることができることはわかっていますが、これをクロスプラットフォームの方法で実行したいと考えています。 .NETで(できればmscorlibを使用して)これを行う方法はありますか? 更新:さて、これは私が最終的に使用したコードです: string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX) ? Environment.GetEnvironmentVariable("HOME") : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
101 c#  .net 


2
ロードされたすべてのアセンブリをリストするにはどうすればよいですか?
.Netでは、すべてのAppDomainで読み込まれたすべてのアセンブリを列挙したいと思います。私のプログラムのAppDomainに対してそれを行うのは簡単AppDomain.CurrentDomain.GetAssemblies()です。どういうわけかすべてのAppDomainにアクセスする必要がありますか?それともこれを行うツールはすでにありますか?
101 c#  .net  assemblies 

12
Ajax処理の「無効なJSONプリミティブ」
jQueryからのajax呼び出しでエラーが発生します。 ここに私のjQuery関数があります: function DeleteItem(RecordId, UId, XmlName, ItemType, UserProfileId) { var obj = { RecordId: RecordId, UserId: UId, UserProfileId: UserProfileId, ItemType: ItemType, FileName: XmlName }; var json = Sys.Serialization.JavaScriptSerializer.serialize(obj); $.ajax({ type: "POST", url: "EditUserProfile.aspx/DeleteRecord", data: json, contentType: "application/json; charset=utf-8", dataType: "json", async: true, cache: false, success: function(msg) { if (msg.d != …
101 c#  jquery  webmethod 


5
高DPI設定(150%など)のマシンでアプリを正しく実行するように構成するにはどうすればよいですか?
C#で簡単なWinformsアプリケーションを作成しました。高DPI設定(150%など)のマシンでアプリケーションを実行すると、アプリケーションがスケールアップします。ここまでは順調ですね!ただし、フォントサイズを大きくしてフォントをレンダリングする代わりに、すべてのテキストも拡大されます。もちろん、これは非常にぼやけたテキストになります(ボタンなどのすべてのコントロール上)。 ウィンドウがテキストのレンダリングを正しく処理するべきではありませんか?たとえば、私のアプリケーションのタイトルバーはくっきりと明確にレンダリングされます。
101 c#  winforms  fonts  dpi  dpi-aware 

6
JWTトークンをデコードする方法は?
このライブラリの仕組みがわかりません。私を手伝ってくれますか ? これが私の簡単なコードです: public void TestJwtSecurityTokenHandler() { var stream = "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9"; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); } これはエラーです: 文字列は、Base64UrlEncodedHeader.Base64UrlEndcodedPayload.OPTIONAL、Base64UrlEncodedSignature 'という形式のコンパクトなJSON形式である必要があります。 jwt.io Webサイトでストリームをコピーすると、正常に動作します:)
101 c#  .net  jwt 

18
C#のJSONフォーマッター?
取る関数を探しています stringJsonのaを入力として受け取り、改行とインデントでフォーマット。検証はおまけですが、必須ではありません。検証してオブジェクトや何かに解析する必要はありません。 そのようなライブラリを知っている人はいますか? 入力例: {"status":"OK", "results":[ {"types":[ "locality", "political"], "formatted_address":"New York, NY, USA", "address_components":[ {"long_name":"New York", "short_name":"New York", "types":[ "locality", "political"]}, {"long_name":"New York", "short_name":"New York", "types":[ "administrative_area_level_2", "political"]}, {"long_name":"New York", "short_name":"NY", "types":[ "administrative_area_level_1", "political"]}, {"long_name":"United States", "short_name":"US", "types":[ "country", "political"]}], "geometry":{"location":{"lat":40.7143528, "lng":-74.0059731}, "location_type":"APPROXIMATE", "viewport":{"southwest":{"lat":40.5788964, "lng":-74.2620919}, "northeast":{"lat":40.8495342, "lng":-73.7498543}}, "bounds":{"southwest":{"lat":40.4773990, "lng":-74.2590900}, "northeast":{"lat":40.9175770, …
100 c#  json  formatting 

4
C#のジェネリックエラーのヘルプ-「タイプ 'T'はnullにできない値のタイプでなければなりません」
C#は初めてですが、次のコードが機能しない理由がわかりません。 public static Nullable<T> CoalesceMax<T>(Nullable<T> a, Nullable<T> b) where T : IComparable { if (a.HasValue && b.HasValue) return a.Value.CompareTo(b.Value) < 0 ? b : a; else if (a.HasValue) return a; else return b; } // Sample usage: public DateTime? CalculateDate(DataRow row) { DateTime? result = null; if (!(row["EXPIRATION_DATE"] is DBNull)) …
100 c#  generics 

6
.NET 4.0の読み取り専用リストまたは変更不可能なリスト
私の知る限りでは、.NET 4.0にはまだ読み取り専用リストがありません。なぜフレームワークはまだこの機能を欠いているのですか?これは、ドメイン駆動設計の最も一般的な機能の1つではありませんか? JavaがC#よりも優れている数少ない利点の1つは、Collections.unmodifiablelist(list)メソッドの形式です。これは、IList <T>またはList <T>ではかなり遅れているようです。 を使用することIEnumerable<T>は、質問に対する最も簡単な解決策です- ToList使用でき、コピーを返します。

10
文字列のn番目の出現のインデックスを取得しますか?
明らかな組み込みメソッドがない場合を除いて、文字列内のn番目の文字列を取得する最も速い方法は何ですか? ループの各反復で開始インデックスを更新することにより、IndexOfメソッドをループできることを理解しています。しかし、この方法でそれを行うことは私にとっては無駄に思えます。
100 c#  .net  string  indexing  indexof 

3
タスクの待機は、タスクで待機することも、Exceptionプロパティにアクセスすることもできませんでした。その結果、観察されなかった例外は
これは何を意味し、どのように解決しますか? TPLタスクを使用しています。 エラー全体 タスクの待機は、タスクで待機することも、Exceptionプロパティにアクセスすることもできませんでした。その結果、監視されていない例外がファイナライザスレッドによって再スローされました。 System.Threading.Tasks.TaskExceptionHolder.Finalize()で mscorlib

19
sinとcosを一緒に計算する最も速い方法は何ですか?
値の正弦と余弦の両方を一緒に計算したい(たとえば、回転行列を作成したい)。もちろん、のように次々に別々に計算することもできますa = cos(x); b = sin(x);が、両方の値が必要な場合により速い方法があるかどうか疑問に思います。 編集: これまでの答えを要約するには: Vladは、FSINCOS両方を計算するasmコマンドがある(FSIN一人での呼び出しとほぼ同時に)と述べた Chiが気づいたように、この最適化はコンパイラーによって既に行われていることがあります(最適化フラグを使用する場合)。 カフェは機能していること、を指摘sincosしてはsincosf、おそらく利用可能であり、ちょうど含めることによって直接呼び出すことができますmath.h ルックアップテーブルを使用する tanasciusのアプローチについては、議論の余地があります。(ただし、私のコンピューターとベンチマークシナリオではsincos、32ビット浮動小数点の場合とほぼ同じ精度の場合よりも3倍速く実行されます。) Joel Goodwinは、非常に優れた精度の非常に高速な近似手法の興味深いアプローチにリンクしています(私にとって、これはテーブルルックアップよりもさらに高速です)
100 c#  c++  c  algorithm  math 

5
ReadonlyプロパティとGet onlyプロパティを使用する必要がある場合
.NETアプリケーションでは、「ReadOnly」プロパティを使用する必要があるときと、「Get」だけを使用するとき。これら2つの違いは何ですか。 private readonly double Fuel= 0; public double FuelConsumption { get { return Fuel; } } または private double Fuel= 0; public double FuelConsumption { get { return Fuel; } }
100 c#  .net 

3
Excelカスタム関数ツールチップの探求
この質問はされてい尋ねた 前に、しかし、それぞれの時間は受け入れ答えは単純に使用して関数の説明を提供するための辞任であるApplication.MacroOptions(VBA6)(VBA7を)、それは私の問題を解決していませんので、この情報は実際には、ツールチップとして表示されません。 目標 私たちすべてが望むのは、何らかの方法(VBA、VSTO、またはCOMアドイン)でカスタム関数を定義でき、ユーザーに関数とそのパラメーターのポップアップ/ツールチップの説明を提供できることです。すべての組み込みのExcel関数に対して、インラインまたは数式バーに表示されます。 このニーズに対する広く受け入れられている答えは、カスタム関数は不可能であるということですが、私はその信念に挑戦したいと思います。 問題 現在、私が誰もが見ている最高の方法は、関数を定義することです(多くの場合、上記のMacroOptions呼び出しを使用)。そのため、関数ダイアログ(数式バーのfxボタン)を呼び出すと、関数とパラメーターの説明が次のように表示されます。 ご覧のとおり、これは多くのパラメーターを持つ複雑な関数です。ユーザーがこの「関数の引数」ダイアログとそれを表示する方法に気づかず、代わりにExcelの標準のツールチップに精通している場合は、数式名のみが表示され、追加のヘルプは表示されません。 必要なパラメーターを正しく提供する機会がありません。(もちろん、ドキュメントを読んでいない限り、ユーザーはこれを行いません。) これで、パワーユーザーはCtrl+ Shift+ Aと入力することで、次のような関数パラメーターのオートコンプリートリストが付与されることを知っているかもしれません。 しかしもちろん、上記と同じ問題があります。つまり、標準のExcelユーザーは最初の画像のデフォルトの動作にしか慣れず、おそらくその機能を学んだことがないということです。 この時点で、これで十分ではなく、すべての組み込み関数に必要なもの、つまりユーザーに関数の使用方法を教えるインラインツールチップが必要であることは明らかです。 いじめる 最初は、ネイティブのExcelアプリケーション関数を除いて、これは単に不可能であると私は確信していたかもしれません。アドインとVBAは拡張機能であり、このツールチップは単に拡張できない場合があります。しかし、その理論は、Analysis Toolpakアドインの存在によって挑戦されます。確かに、これはMicrosoftに組み込まれていますが、ANALYS32.xllは、VB、C、C ++、およびC#で作成できるものと同様に、スタンドアロンのXLLアドインです。案の定、このXLLがアプリケーションにロードされたときに機能し、それを利用できるようにすることをネイティブExcel関数の同じツールチップを持っています。 この情報が何らかの形でこのXLLファイルにエンコードされてExcelに渡された場合、独自のアドインでそれを複製する方法はありますか?ここで、逆コンパイルについて少し学び始め、分析ツールパックで行われていることをリバースエンジニアリングできるかどうかを確認します。 あなたが助けることができる方法 この問題について公開されているすべての情報を調査したことはほぼ間違いありません。誰かがこれを助けるかもしれない私が知らない何かを知っているなら、遠慮なくご相談ください。私はリバースエンジニアリングされたコンパイル済みのdll / xllに非常に慣れていないので、誰かがAnalysis32.xllのローカルコピーをポップオープンしたいと感じた場合、カスタム関数の定義で何が起こっているのかを理解するために、私は多くの義務を負うことになります。それ以外の場合は、行き止まりをすべて突き止めて、見つけたものを報告するまで、自分でこれを掘り下げていきます。

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