首页编程cultureinfo?C#CultureInfo 和CultureUIInfo的区别

cultureinfo?C#CultureInfo 和CultureUIInfo的区别

编程之家2023-11-0295次浏览

各位老铁们好,相信很多人对cultureinfo都不是特别的了解,因此呢,今天就来为大家分享下关于cultureinfo以及C#CultureInfo 和CultureUIInfo的区别的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

cultureinfo?C#CultureInfo 和CultureUIInfo的区别

string.format用法

参数

format

类型:System..::.String

复合格式字符串。

args

类型:array<System..::.Object>[]()[]

cultureinfo?C#CultureInfo 和CultureUIInfo的区别

包含零个或多个要格式化的对象的 Object数组。

返回值

类型:System..::.String

format的一个副本,其中格式项已替换为 args中相应 Object实例的 String等效项。

异常

异常条件

cultureinfo?C#CultureInfo 和CultureUIInfo的区别

ArgumentNullException format或 args为 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)。

FormatException format无效。

-或-

用于指示要格式化的参数的数字小于零,或者大于等于 args数组的长度。

备注

此方法使用.NET Framework的复合格式设置功能将对象的值转换为其文本表示形式,并将该表示形式嵌入字符串中。.NET Framework提供了广泛的格式设置支持,下面的格式设置主题中对此有更详细的描述。

有关 Format、AppendFormat等方法以及 WriteLine的某些重载所支持的复合格式设置功能的更多信息,请参见复合格式设置。

有关数值格式说明符的更多信息,请参见标准数字格式字符串和自定义数字格式字符串。

有关日期和时间格式说明符的更多信息,请参见标准日期和时间格式字符串和自定义日期和时间格式字符串。

有关枚举格式说明符的更多信息,请参见枚举格式字符串。

有关格式设置的更多信息,请参见为类型设置格式和格式设置概述。

format参数由零个或多个文本序列与零个或多个索引占位符混合组成,其中索引占位符称为格式项,它们与此方法的参数列表中的对象相对应。格式设置过程将每个格式项替换为相应对象值的文本表示形式。

格式项的语法是{索引[,对齐方式][:格式字符串]},它指定了一个强制索引、格式化文本的可选长度和对齐方式,以及格式说明符字符的可选字符串,其中格式说明符字符用于控制如何设置相应对象的值的格式。格式项的组成部分包括:

索引

从零开始的整数,指示对象列表中要格式化的元素。如果由索引指定的对象为 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing),则格式项将被空字符串("")替换。

对齐方式

可选整数,指示包含格式化值的区域的最小宽度。如果格式化值的长度小于对齐方式,则用空格填充该区域。如果对齐方式为负,则格式化值将在该区域中左对齐;如果对齐方式为正,则格式化值将右对齐。如果没有指定对齐方式,则该区域的长度为格式化值的长度。如果指定对齐方式,则需要使用逗号。

格式字符串

可选的格式说明符字符串。如果没有指定格式字符串,并且对应的参数实现了 IFormattable接口,则将 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)用作 IFormattable..::.ToString格式字符串。因此,IFormattable..::.ToString的所有实现都必须允许 nullNothingnullptrnull引用(在 Visual Basic中为 Nothing)作为格式字符串,并以 String对象的形式返回对象表示形式的默认格式设置。如果指定格式字符串,则需要使用冒号。

必须使用前导大括号字符和尾部大括号字符,即“{”和“}”。若要在 format中指定单个大括号字符,请指定两个前导大括号字符或尾部大括号字符;即“{{”或“}}”。

如果 format的值为“Thank you for your purchase of{0:####} copies of Microsoft®.NET(Core Reference).”,并且 arg[0]是值为 123的 Int16,则返回值为:

“Thank you for your purchase of 123 copies of Microsoft®.NET(Core Reference).”

如果 format的值为“Brad's dog has{0,-8:G} fleas.”,arg[0]是值为 42的 Int16(在此示例中,下划线表示填充空格),则返回值为:

“Brad's dog has 42______ fleas.”

示例

下面的代码示例演示数字、日期和枚举的标准格式设置说明符。

Visual Basic复制代码

' This code example demonstrates the String.Format() method.

' This example uses the provider parameter to supply formatting

' information using the invariant culture.

Imports System.Globalization

Class Sample

Public Enum Color

Yellow= 1

Blue= 2

Green= 3

End Enum'Color

Private Shared thisDate As DateTime= DateTime.Now

Public Shared Sub Main()

' Store the output of the String.Format method in a string.

Dim s As String=""

Console.Clear()

' Format a negative integer or floating-point number in various ways.

Console.WriteLine("Standard Numeric Format Specifiers")

s= String.Format(CultureInfo.InvariantCulture, _

"(C) Currency:........{0:C}"& vbCrLf& _

"(D) Decimal:.........{0:D}"& vbCrLf& _

"(E) Scientific:.......{1:E}"& vbCrLf& _

"(F) Fixed point:.......{1:F}"& vbCrLf& _

"(G) General:.........{0:G}"& vbCrLf& _

"(default):........{0}(default='G')"& vbCrLf& _

"(N) Number:.........{0:N}"& vbCrLf& _

"(P) Percent:.........{1:P}"& vbCrLf& _

"(R) Round-trip:.......{1:R}"& vbCrLf& _

"(X) Hexadecimal:.......{0:X}"& vbCrLf, _

- 123,- 123.45F)

Console.WriteLine(s)

' Format the current date in various ways.

Console.WriteLine("Standard DateTime Format Specifiers")

s= String.Format(CultureInfo.InvariantCulture.DateTimeFormat, _

"(d) Short date:.......{0:d}"& vbCrLf& _

"(D) Long date:........{0:D}"& vbCrLf& _

"(t) Short time:.......{0:t}"& vbCrLf& _

"(T) Long time:........{0:T}"& vbCrLf& _

"(f) Full date/short time:..{0:f}"& vbCrLf& _

"(F) Full date/long time:...{0:F}"& vbCrLf& _

"(g) General date/short time:.{0:g}"& vbCrLf& _

"(G) General date/long time:.{0:G}"& vbCrLf& _

"(default):........{0}(default='G')"& vbCrLf& _

"(M) Month:..........{0:M}"& vbCrLf& _

"(R) RFC1123:.........{0:R}"& vbCrLf& _

"(s) Sortable:........{0:s}"& vbCrLf& _

"(u) Universal sortable:...{0:u}(invariant)"& vbCrLf& _

"(U) Universal sortable:...{0:U}"& vbCrLf& _

"(Y) Year:..........{0:Y}"& vbCrLf, _

thisDate)

Console.WriteLine(s)

' Format a Color enumeration value in various ways.

Console.WriteLine("Standard Enumeration Format Specifiers")

s= String.Format(CultureInfo.InvariantCulture, _

"(G) General:.........{0:G}"& vbCrLf& _

"(default):........{0}(default='G')"& vbCrLf& _

"(F) Flags:..........{0:F}(flags or integer)"& vbCrLf& _

"(D) Decimal number:.....{0:D}"& vbCrLf& _

"(X) Hexadecimal:.......{0:X}"& vbCrLf, _

Color.Green)

Console.WriteLine(s)

End Sub'Main

End Class'Sample

'

' This example displays the following output to the console:

'

' Standard Numeric Format Specifiers

'(C) Currency:........(123.00)

'(D) Decimal:.........-123

'(E) Scientific:.......-1.234500E+002

'(F) Fixed point:.......-123.45

'(G) General:.........-123

'(default):........-123(default='G')

'(N) Number:.........-123.00

'(P) Percent:.........-12,345.00%

'(R) Round-trip:.......-123.45

'(X) Hexadecimal:....... FFFFFF85

'

' Standard DateTime Format Specifiers

'(d) Short date:....... 07/09/2007

'(D) Long date:........ Monday, 09 July 2007

'(t) Short time:....... 13:42

'(T) Long time:........ 13:42:50

'(f) Full date/short time:.. Monday, 09 July 2007 13:42

'(F) Full date/long time:... Monday, 09 July 2007 13:42:50

'(g) General date/short time:. 07/09/2007 13:42

'(G) General date/long time:. 07/09/2007 13:42:50

'(default):........ 07/09/2007 13:42:50(default='G')

'(M) Month:.......... July 09

'(R) RFC1123:......... Mon, 09 Jul 2007 13:42:50 GMT

'(s) Sortable:........ 2007-07-09T13:42:50

'(u) Universal sortable:... 2007-07-09 13:42:50Z(invariant)

'(U) Universal sortable:... Monday, 09 July 2007 20:42:50

'(Y) Year:.......... 2007 July

'

' Standard Enumeration Format Specifiers

'(G) General:......... Green

'(default):........ Green(default='G')

'(F) Flags:.......... Green(flags or integer)

'(D) Decimal number:..... 3

'(X) Hexadecimal:....... 00000003

C#复制代码

// This code example demonstrates the String.Format() method.

// Formatting for this example uses the"en-US" culture.

using System;

using System.Globalization;

class Sample

{

enum Color{Yellow= 1, Blue, Green};

static DateTime thisDate= DateTime.Now;

public static void Main()

{

// Store the output of the String.Format method in a string.

string s="";

Console.Clear();

// Format a negative integer or floating-point number in various ways.

Console.WriteLine("Standard Numeric Format Specifiers");

s= String.Format(CultureInfo.InvariantCulture,

"(C) Currency:........{0:C}\n"+

"(D) Decimal:.........{0:D}\n"+

"(E) Scientific:.......{1:E}\n"+

"(F) Fixed point:.......{1:F}\n"+

"(G) General:.........{0:G}\n"+

"(default):........{0}(default='G')\n"+

"(N) Number:.........{0:N}\n"+

"(P) Percent:.........{1:P}\n"+

"(R) Round-trip:.......{1:R}\n"+

"(X) Hexadecimal:.......{0:X}\n",

-123,-123.45f);

Console.WriteLine(s);

// Format the current date in various ways.

Console.WriteLine("Standard DateTime Format Specifiers");

s= String.Format(CultureInfo.InvariantCulture.DateTimeFormat,

"(d) Short date:.......{0:d}\n"+

"(D) Long date:........{0:D}\n"+

"(t) Short time:.......{0:t}\n"+

"(T) Long time:........{0:T}\n"+

"(f) Full date/short time:..{0:f}\n"+

"(F) Full date/long time:...{0:F}\n"+

"(g) General date/short time:.{0:g}\n"+

"(G) General date/long time:.{0:G}\n"+

"(default):........{0}(default='G')\n"+

"(M) Month:..........{0:M}\n"+

"(R) RFC1123:.........{0:R}\n"+

"(s) Sortable:........{0:s}\n"+

"(u) Universal sortable:...{0:u}(invariant)\n"+

"(U) Universal sortable:...{0:U}\n"+

"(Y) Year:..........{0:Y}\n",

thisDate);

Console.WriteLine(s);

// Format a Color enumeration value in various ways.

Console.WriteLine("Standard Enumeration Format Specifiers");

s= String.Format(CultureInfo.InvariantCulture,

"(G) General:.........{0:G}\n"+

"(default):........{0}(default='G')\n"+

"(F) Flags:..........{0:F}(flags or integer)\n"+

"(D) Decimal number:.....{0:D}\n"+

"(X) Hexadecimal:.......{0:X}\n",

Color.Green);

Console.WriteLine(s);

}

}

/*

This example displays the following output to the console:

Standard Numeric Format Specifiers

(C) Currency:........(123.00)

(D) Decimal:.........-123

(E) Scientific:.......-1.234500E+002

(F) Fixed point:.......-123.45

(G) General:.........-123

(default):........-123(default='G')

(N) Number:.........-123.00

(P) Percent:.........-12,345.00%

(R) Round-trip:.......-123.45

(X) Hexadecimal:....... FFFFFF85

Standard DateTime Format Specifiers

(d) Short date:....... 07/09/2007

(D) Long date:........ Monday, 09 July 2007

(t) Short time:....... 13:48

(T) Long time:........ 13:48:05

(f) Full date/short time:.. Monday, 09 July 2007 13:48

(F) Full date/long time:... Monday, 09 July 2007 13:48:05

(g) General date/short time:. 07/09/2007 13:48

(G) General date/long time:. 07/09/2007 13:48:05

(default):........ 07/09/2007 13:48:05(default='G')

(M) Month:.......... July 09

(R) RFC1123:......... Mon, 09 Jul 2007 13:48:05 GMT

(s) Sortable:........ 2007-07-09T13:48:05

(u) Universal sortable:... 2007-07-09 13:48:05Z(invariant)

(U) Universal sortable:... Monday, 09 July 2007 20:48:05

(Y) Year:.......... 2007 July

Standard Enumeration Format Specifiers

(G) General:......... Green

(default):........ Green(default='G')

(F) Flags:.......... Green(flags or integer)

(D) Decimal number:..... 3

(X) Hexadecimal:....... 00000003

*/

uiculture与culture区别

1.UICulture:取得/设置当前执行线程的用户接口。这个属性帮助运行时刻从一个特定的资源文件(我们将在后面看到)中加载资源字符串。这个属性能够使用中立文化,也可以是本地化。例如:

Thread.CurrentThread.CurrentUICulture= new CultureInfo("fr");

或:

Thread.CurrentThread.CurrentUICulture= new CultureInfo("fr-CA");

2.Culture:取得/设置地区特定的文化和货币、日期等的格式。这个属性需要语言也需要位置(本地化)。

Thread.CurrentThread.CurrentCulture= new CultureInfo("fr-A");//正确,因为我们已经给出了本地化

Thread.CurrentThread.CurrentCulture= new CultureInfo("fr");//错误,无法工作

C#CultureInfo 和CultureUIInfo的区别

CurrentCulture和CurrentUICulture

设置文化时必须区分用户界面的文化和数字及日期格式的文化。文化与线程相关,

有了这两种文化类型,就可以把两个文化设置应用于线程。用线程设置文化时,

Thread类提供了属性CurrentCulture和CurrentUICulture。属性CurrentCulture

用于设置与格式化和排序选项一起使用的文化,而属性CurrentUICulture用于设置用户界面的语言。

使用Windows控制面板中的“区域和语言”选项,用户就可以改变CurrentCulture的默认设置,

如图17-3所示。使用这个配置,还可以改变文化的默认数字、时间和日期格式。

CurrentUICulture不依赖于这个配置,而依赖于操作系统的语言。

这有一个例外:如果Windows XP或Windows 2000安装了多语言用户

界面(Muti-language User Interface, MUI),就可以用区域配置改变用户界面的语言,

这会影响CurrentUICulture属性。

好了,文章到此结束,希望可以帮助到大家。

河北优化推广?河北网站优化做的好的有哪些公司如何删除文本框(在WORD中如何删除文本框)