首页 > 编程知识 正文

c和c#和c++区别(英语音标怎么读)

时间:2023-05-04 03:30:00 阅读:66039 作者:4568

CultureInfo类位于System.Globalization命名空间中,许多人不太熟悉这个类和命名空间。 事实上,我们在编写程序时经常间接接触这个类,在数字、日期和时间、字符串匹配时进行CultureInfo操作。 这意味着不同的CultureInfo操作。这些操作的结果可能不同。 因为我们的开发部署大部分都在同一个区域设置,所以平时可能没什么用。 如果您开发的项目是针对海外用户的,则在您的计算机上执行输出可能是有效的,而在客户端计算机上可能是另一种输出效果。 这需要使用CultureInfo类。 这也是ms为用户提供的人性化方面(即使在同一日期,中文环境的输出也符合中国人的习惯,而德语环境的输出符合德国人的习惯,这是默认的输出方式)。

代码如下:

1 staticreadonlystring [ ] culturesources={ ' en-us '、' zh-cn '、' ar-iq '、' de-de' }; 2 staticreadonlyrandomran=new random (环境. tick count ); 35静态语音(6)7for ) intI=0; i CultureSources.Length; I )8thread pool.queueuserworkitem (client,I ); 9 } 10控制台. readline (); 11 ) 121314静态语音客户端(objectobj ) 15 ) 16intid=(int ) obj; 17thread.sleep(ran.next(1000 ); 18 cultureinfoculture=culture info.getcultureinfo (culturesources [ id ]; 19 thread.current thread.current culture=culture; 20 console.writeline ('操作系统语言设置为{0}n数据输出为{1}n ',culture.DisplayName,DateTime.Now.ToShortDateString )

结果看到了吧。 同一DateTime.Now.ToShortDateString (),但在英语-美国、中文-中国、阿拉伯语-伊拉克和德语-德国的不同环境中,存在日期输出格式如此不同的输出结果,使用中的用户对于编程人员来说,可以将这些数据

原因分析:

. NET考虑到当前线程的CultureInfo,即thread.current thread.current culture (或CultureInfo.CurrentCulture ),并基于CultureInfo

thread.current thread.current culture=culture info.invariant culture; //和new CultureInfo (' ); 同样,使用固定区域性,固定区域性不区分区域性; 与英语语言有关,但不与任何国家有关

这样,无论客户端在何种语言环境下运行,都可以统一输出的时间格式,以便数据中心服务以后处理数据。

结果如下图所示。

支持多个CultureInfo是让整个. net框架更人性化。 因为相同的数据可以适应不同的地区和文化,当然可以满足不同地区和文化中的用户,但前提是将数据呈现给“人”。 如果将这些数据用于计算机之间的传输,也就是说,如果它们看起来像“机器”,这种多文化处理反而会变得不正常,成为同一数据的不同表现形式。 这正是InvariantCulture的用处,因为如果读写两个文化区域不同,则数据可能无法正常读取,甚至可能出现潜在的错误。

转载来源: https://blog.csdn.net/xuwei _ xuwei/article/details/32717259

转载于:https://www.cn blogs.com/lago orly/p/10313193.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。