問題タブ [iformattable]
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# - IFormattable のリファレンス実装
IFormattableの適切なリファレンス実装はありますか? オブジェクトに少なくとも 1 つのカスタムを作成する予定でIFormatProviderあり、 に渡されるさまざまな可能なパラメータ セットに対してワイヤリングが正しいことを確認したいと考えていますIFormattable.ToString(string, IFormatProvider)。
私がこれまでに持っているもの:
しかし、カバーする必要がある他の潜在的な状況があるようです。
- が null の場合
formatProvider、フォールバックする必要がありますthis.ToString()か? formatProvider.GetFormat(typeof(ICustomFormatter))を返す場合null、スローすべき特定の例外はありますか?
ブログの投稿、コード サンプル、MSDN の参照を歓迎します。
c# - IFormattable パラメーターを持つ関数は文字列を受け入れません
文字列入力を処理する関数があります。
GUIDを次のような文字列に変換していた多くの場所からこれを呼び出していました:
私が実際に望んでいたのは、文字列に変換できる任意のオブジェクト型を入力として受け入れることでした。そこで、関数を次のように変更してみました。
これは、すべての呼び出しがより簡単であることを意味します。
.ToString メソッドを持つすべてのオブジェクト タイプで機能します。文字列を除く:)
関数に文字列を渡そうとすると、次のコンパイル エラーが発生します。
String には ToString() メソッドがあるため、これは非常に奇妙に思えます。
なぜこれが機能しないのですか?
c# - フォーマットの使用中に IFormattable が間違った値を返す
IFormattable と String.Format を使用して HexaDeciamal 形式で値をフォーマットしようとしました。しかし、どちらも異なる値を返します。String.Format のような値を取得するためのフォーマットを提案してください。コード :
ご不明な点がございましたら、お知らせください。
c# - 組み込み型の object.ToString() と IFormattable.ToString(string, IFormatProvider) の間の関係について、何らかの仮定を立てることはできますか?
集約されたレコードの文字列出力フォーマット コードを書いています (CSV 形式の出力を考えてください)。単純IFormattable.ToString(string, IFormatProvider)なobject.ToString().
object.ToString()コードの重複を減らすために、との関係についていくつかの仮定を立てることができればよいでしょうIFormattable.ToString(string, IFormatProvider)。
たとえば、それを仮定することに頼ることができToString() == ToString(null, null)ますか? そのマッピングを維持する既定のカルチャまたは形式プロバイダーはありますか? それとも、両者の間に必然的な関係はありませんか?
c# - 文字列、FormattableString、IFormattable の違い
FormattableStringC# 6.0 で導入されました。stringオブジェクトを使用して同じ文字列フォーマットを使用できるため、FormattableStringまたはを使用する必要があるのはなぜですかIFormattable。3つの違いは?
マイコード
何よりも同じ結果が得られます。すなわち'Hello Pravin'.
誰かが同じことについて深い知識を持っている場合、これについてより詳細な回答を得ることができますか?
c# - C# のカスタム文字列フォーマッタ
C# での文字列の書式設定。
使用できますか?はい。
カスタム書式設定を実装できますか? いいえ。
string.Format特定のアイテムに何らかの影響を与える一連のカスタム書式設定オプションを に渡すことができる何かを記述する必要があります。
現時点では、次のようなものがあります。
しかし、私はそのアイテムで何かをしたいと思っています:
.ToUpper()などのことができることはわかって.ToLower()いますが、文字列の書式設定で行う必要があります。
私はIFormatProviderandのようなものを調べてきましたIFormattableが、それらが私が使用すべきものであるか、またはそれらを実装する方法であるかどうかはよくわかりません。
この問題を解決する方法を誰か説明できますか?
根拠(知りたい場合に備えて...)
コンマで区切られた一連の値とテンプレートを入力できる小さなプログラムがあります。string.Format項目は、出力を作成するテンプレートとともに に渡されます。ユーザーがアイテムの出力方法を制御できるように、テンプレートの書式設定オプションを提供したいと考えています。