問題タブ [base-class-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET用の効率的で不変で拡張可能なコレクション
.NET、特にBCLの安全で不変のコレクションタイプが極端に不足しているように見えますが、外部でも多くの作業が行われているのを見たことがありません。.NET用の(できれば)本番品質の高速で不変のコレクションライブラリへのポインタを持っている人はいますか?ファストリストタイプは不可欠です。F#に切り替える準備はまだできていません。
*編集:検索者への注意、これはまもなくBCLに組み込まれます: .NET不変コレクション
.net - SortedList がないのはなぜですか.NETで?
SortedList<TKey, TValue>
辞書のように見えるa しかないのにSortedList<T>
、実際には常にソートされる単なるリストであるのはなぜですか?
SortedList に関する MSDN のドキュメントによると、実際にKeyValuePair<TKey, TValue>
は、常にキーによってソートされる動的サイズの配列として内部的に実装されています。同じクラスは、任意のタイプのリストとしてより便利ではないT
でしょうか? その方が名前にもぴったりではないでしょうか。
c# - String.EmptyのようなChar.Emptyがないのはなぜですか?
これには理由がありますか?空の文字をたくさん使用する必要がある場合は、空の文字列をたくさん使用する場合と同じ状況になるため、私は質問しています。
編集:この使用法の理由はこれでした:
したがって、myStringから'c'のすべてのインスタンスを削除します。
c# - .NET は Object 型を使用しなくても同様に機能しますか?
オブジェクトを使用すると、「特定のタイプがないのでオブジェクトを使用する」など、特定の問題を解決する簡単な方法のように思われるため、これを尋ねています。
また、これに興味を持った理由は、同僚が、.NET が真のオブジェクト指向プラットフォームである場合、Object のようなすべての型をキャッチする必要はないだろうと私に言ったからです。
.NET に Object 型がない場合、発生する問題を解決して同じように機能させるには、どのような方法があるでしょうか?
また、仕事で毎日使用しているため、これは.NETをbashするものではないことに注意してください。それについてもっと知りたいだけです。
編集: 私が覚えていたもう 1 つの注意は、オブジェクト型が存在するためです。その効果は .NET 全体に波及します。同様に IEnumerable が存在しますが、IEnumerable<T> もあります。また、多くの状況で、ジェネリック バージョンと非ジェネリック バージョンの両方を実装する必要があります。
c# - コンストラクターの代わりに暗黙的/明示的な変換を使用する理由は何ですか?
例は次のとおりです。
なぜだめですか?:
コンストラクターの代わりに暗黙的/明示的な変換を使用する背後にあるアイデアは何ですか? 快適?
これに関するガイドラインはありますか?
c# - Encoder.GetBytes メソッドでフラッシュ パラメータを使用する理由
このリンクでは、Encoder.GetBytes メソッドについて説明しています。また、flush Explained という bool パラメータもあります。フラッシュの説明は次のとおりです。
このエンコーダーが変換の最後にその状態をフラッシュできる場合は true 。それ以外の場合は false。エンコードされたバイトのブロックのシーケンスを正しく終了させるために、GetBytes への最後の呼び出しでフラッシュに true の値を指定できます。
しかし、私はフラッシュが何をするのか理解していませんでした.多分私は酔っ払っているか何かです:)。詳しく教えてください。
.net - Directory.GetParent のバグ?
System.IO.Directory.GetParent
メソッドの非常に奇妙な動作に直面しました。
バグだと思いますが、このメソッドは 1.0 から存在していたので、今頃には検出されていたと思います。一方で、設計通りだとしたら、そのような設計の合理的な説明は思いつきません...
どう思いますか ?バグですか?そうでない場合、この動作をどのように説明しますか?
.net - TimeSpan.FromSeconds(double)がミリ秒に丸められるのはなぜですか?
TimeSpan.FromSeconds
はdoubleを取り、100ナノ秒までの値を表すことができますが、この方法では、説明できないほど時間がミリ秒単位に丸められます。
この(文書化された!)動作を特定するために30分を費やしたばかりであることを考えると、なぜこれが当てはまるのかを知ることで、無駄な時間を我慢しやすくなります。
この一見逆効果の振る舞いが実装されている理由を誰かが提案できますか?
c# - Nullable <>タイプは、BCL、CLR、またはその両方の実装ですか?
少し前に、Nullable <>値型はクラスであり、値型をカプセル化し、HasValueにブール値を与えると思いました。nullの暗黙のキャスト演算子を使用して、BCLで実装されました。
しかし、構造体であるため、これをどのように達成できますか?Nullable <>構造体はCLRにとって「特別」ですか?
java - Java SEはまだGPLですか?
Java SEはまだオープンソースですか?オラクルはGPL専用のライセンスを変更できますか?
ただし、Oracle Java FAQには、バイナリコードライセンスであると記載されています。
「SunはGPLの下でJavaのリリースを開始します」
「SunのJavaSE(JDK)およびJavaME実装にGPLv2ライセンスを採用し、このライセンスをSunのJavaEE実装に追加します。」
しかし、Java FAQページには、次のように記載されています。
- Q:Javaテクノロジーは無料ですか?ライセンスに関する情報はどこで入手できますか?A:Java SEは、Sun Binary Code License(BCL)の下で引き続き利用可能であり、汎用コンピューティングで使用するための追加コストはありません。JavaテクノロジのサポートとEOLロードマップは、より多くの情報を提供します。Java for Businessバイナリは、個別のライセンス条項の下で提供されます。JavaSEおよびJavaforBusinessのライセンス条項の概要を以下に示します。
-Oracle _
ライセンスを変更できる場合、リリースされたすべてのソースにさかのぼって影響しますか?