<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 內插字符串(C# 和 Visual Basic 引用) 用于構造字符串。內插字符串表達式類似于包含表達式的模板字符串。內插字符串表達式通過將包含的表達式替換為表達式結果的 ToString 表示形式來創建字符串。與[復合格式設置](https://msdn.microsoft.com/zh-CN/library/txafckwd.aspx)相比,內插字符串在參數方面更易于理解。下面是內插字符串的示例: ``` Console.WriteLine($"Name = {name}, hours = {hours:hh}") ``` 內插字符串的結構如下所示: ``` $ " <text> { <interpolation-expression> <optional-comma-field-width> <optional-colon-format> } <text> ... } " ``` 可以在可使用字符串的任何位置使用內插字符串。當運行程序會執行帶內插字符串的代碼時,此代碼會通過計算內插表達式來計算新的字符串。每次執行帶內插字符串的代碼時,都會發生此計算。 若要在內插字符串中包含大括號(“{”或“}”),請使用兩個大括號,即“{{”或“}}”。請參閱“隱式轉換”部分以獲取詳細信息。 ## 隱式轉換 內插字符串中的隱式類型轉換如下: ``` var s = $"hello, {name}" System.IFormattable s = $"Hello, {name}" System.FormattableString = $"Hello, {name}" ``` 第一個示例生成一個 **string** 值,其中計算了所有字符串內插值。此為最終結果,并具有 string 類型。出現的所有雙大括號(“{{”和“}}”)都轉換為單大括號。 第二個示例生成一個 [IFormattable](https://msdn.microsoft.com/zh-CN/library/system.iformattable.aspx) 變量,此變量允許使用固定上下文轉換字符串。要使數值和數據格式在不同語言中正確無誤,此操作非常有用。出現的所有雙大括號(“{{”和“}}”)仍保留為雙大括號,直至將字符串設置為 ToString 格式。包含的所有內插表達式都轉換為 {0}、{1} 等等。 ``` s.ToString(null, System.Globalization.CultureInfo.InvariantCulture); ``` 第三個示例生成一個 T;System.FormattableString,它允許檢查由插值計算產生的對象。例如,檢查對象及其呈現為字符串的方式可能有助于你在生成查詢時防止注入攻擊。借助 FormattableString,只需簡單操作即可生成 InvariantCulture 和 CurrentCulture 字符串結果。在設置格式之前,出現在所有雙大括號(“{{”和“}}”)保留為雙括號。包含的所有內插表達式都轉換為 {0}、{1} 等等。 ## 示例 ``` $"Name = {name}, hours = {hours:hh}" var s = $"hello, {name}" System.IFormattable s = $"Hello, {name}" System.FormattableString = $"Hello, {name}" $"{person.Name, 20} is {person.Age:D3} year {(p.Age == 1 ? "" : "s")} old." ``` 無需在包含的內插表達式中引用引號字符,因為內插字符串表達式以 $ 開始,而且編譯器會將包含的內插表達式掃描為平衡文本,直至它發現逗號、冒號或右大括號。出于相同原因,最后一個示例使用括號來使條件表達式 (p.Age == 1 ? "" : "s") 包含在其格式規范不以冒號開頭的內插表達式中。在包含的內插表達式外部(但仍在內插字符串表達式之中),可按通常方式轉義引號字符。 ## 語法 ``` expression: interpolated-string-expression interpolated-string-expression: interpolated-string-start interpolations interpolated-string-end interpolations: single-interpolation single-interpolation interpolated-string-mid interpolations single-interpolation: interpolation-start interpolation-start : regular-string-literal interpolation-start: expression expression , expression ``` ## 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 有關詳細信息,請參閱 [Visual Basic 語言參考](https://msdn.microsoft.com/zh-CN/library/sh9ywfdk.aspx)。 ## 請參閱 [System.IFormattable](https://msdn.microsoft.com/zh-CN/library/system.iformattable.aspx) T;System.FormattableString [C# 參考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [Visual Basic 語言參考](https://msdn.microsoft.com/zh-CN/library/sh9ywfdk.aspx) [Visual Basic 編程指南](https://msdn.microsoft.com/zh-CN/library/y4wf33f0.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看