string使用

 

一.list和string转化

List转字符串,用逗号隔开

List<string> list = new List<string>();
list.Add("a");
list.Add("b");
list.Add("c");
//MessageBox.Show(list.);
//LoadModel();
string s = string.Join(",", list.ToArray());
MessageBox.Show(s);

 

List<test> list = new List<test>();
list.Add(new test("1", "a"));
list.Add(new test("2", "b"));
list.Add(new test("", ""));
list.Add(new test("3", "c"));
var a = from o in list select o.test1;
var b = from o in list select o.test2;
string s1 = string.Join(",", a.ToArray());
string s2 = string.Join(",", b.ToArray());
MessageBox.Show(s1 + "\r\n" + s2); 

结果:1,2,,3

      a,b,,c

 

字符串转List

这里s的分隔符不是“,”而是“, ”,后面有一个空格

string s = "1, 2, 3";
List<string> list = new List<string>(s.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries));
foreach (string t in list)
{
    MessageBox.Show("*" + t + "*");
}

这里s的分隔符是“,”

string s = "1,2,3";
List<string> list = new List<string>(s.Split(','));
foreach (string t in list)
{
    MessageBox.Show("*" + t + "*");
}

 

 

 

二.String.Spli使用

String.Split 方法有6个重载函数:

1) public string[] Split(params char[] separator)
2) public string[] Split(char[] separator, int count)
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)


下边我们通过一些实例来说明下怎么使用(以下string words = "1,2.3,,4";):

1. public string[] Split(params char[] separator)

string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}


2. public string[] Split(char[] separator, int count)

string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}


3. public string[] Split(char[] separator, StringSplitOptions options)

string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


4. public string[] Split(string[] separator, StringSplitOptions options)

string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


5. public string[] Split(char[] separator, int count, StringSplitOptions options)

string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素


6. public string[] Split(string[] separator, int count, StringSplitOptions options)

string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

 

 

三.string.format使用

 

C#格式化数值结果表

 

字符

说明

示例

输出

C货币string.Format("{0:C3}", 2)$2.000
D十进制string.Format("{0:D3}", 2)002
E科学计数法1.20E+0011.20E+001
G常规string.Format("{0:G}", 2)2
N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00
X十六进制string.Format("{0:X000}", 12)C
  string.Format("{0:000.000}", 12.2)012.200

 

Strings

 

There really isn't any formatting within a strong, beyond it's alignment. Alignment works for any argument being printed in a String.Format call.

 

 

 

SampleGenerates
String.Format("->{1,10}<-", "Hello");-> Hello<-
String.Format("->{1,-10}<-", "Hello");->Hello <-

 

Numbers

 

Basic number formatting specifiers:

 

 

 

SpecifierTypeFormat

Output
(Passed
Double 1.42)

Output
(Passed
Int -12400)

cCurrency{0:c}$1.42-$12,400
dDecimal (Whole number){0:d}System.
FormatException
-12400
eScientific{0:e}1.420000e+000-1.240000e+004
fFixed point{0:f}1.42-12400.00
gGeneral{0:g}1.42-12400
nNumber with commas for thousands{0:n}1.42-12,400
rRound trippable{0:r}1.42System.
FormatException
xHexadecimal{0:x4}System.
FormatException
cf90

 

Custom number formatting:

 

 

 

SpecifierTypeExampleOutput (Passed Double 1500.42)Note
0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.
#Digit placeholder{0:(#).##}(1500).42 
.Decimal point{0:0.0}1500.4 
,Thousand separator{0:0,0}1,500Must be between two zeroes.
,.Number scaling{0:0,.}2Comma adjacent to Period scales by 1000.
%Percent{0:0%}150042%Multiplies by 100, adds % sign.
eExponent placeholder{0:00e+0}15e+2Many exponent formats available.
;Group separatorsee below  

 

The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious:

 

Dates

 

Note that date formatting is especially dependant on the system's regional settings; the example strings here are from my local locale.

 

 

 

SpecifierTypeExample (Passed System.DateTime.Now)
dShort date10/12/2002
DLong dateDecember 10, 2002
tShort time10:11 PM
TLong time10:11:29 PM
fFull date & timeDecember 10, 2002 10:11 PM
FFull date & time (long)December 10, 2002 10:11:29 PM
gDefault date & time10/12/2002 10:11 PM
GDefault date & time (long)10/12/2002 10:11:29 PM
MMonth day patternDecember 10
rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
sSortable date string2002-12-10T22:11:29
uUniversal sortable, local time2002-12-10 22:13:50Z
UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
YYear month patternDecember, 2002

 

The 'U' specifier seems broken; that string certainly isn't sortable.

 

Custom date formatting:

 

 

 

SpecifierTypeExampleExample Output
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
f, ff, ...Second fractions{0:fff}932
gg, ...Era{0:gg}A.D.
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr format{0:HH}22
mmMinute 00-59{0:mm}38
MMMonth 01-12{0:MM}12
MMMMonth abbreviation{0:MMM}Dec
MMMMFull month name{0:MMMM}December
ssSeconds 00-59{0:ss}46
ttAM or PM{0:tt}PM
yyYear, 2 digits{0:yy}02
yyyyYear{0:yyyy}2002
zzTimezone offset, 2 digits{0:zz}-05
zzzFull timezone offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/Separator{0:dd/MM/yyyy}10/12/2002

 

Enumerations

 

 

 

SpecifierType
gDefault (Flag names if available, otherwise decimal)
fFlags always
dInteger always
xEight digit hex.

 

Some Useful Examples

 

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);

 

This will output "$1,240.00" if passed 1243.50. It will output the same format but in parentheses if the number is negative, and will output the string "Zero" if the number is zero.

 

String.Format("{0:(###) ###-####}", 18005551212);

 

This will output "(800) 555-1212".

 

变量.ToString()


字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16进制)
12345.ToString("p"); //生成 1,234,500.00%

 

转载于:https://www.cnblogs.com/YzpJason/p/6732217.html

String.Format()方法问题 今天用到了String.Format(string format, object[] args)方法,这里的第二个参数是一个object数组,我刚开始是用的一个IList<object> list,当list中只有一个元素的时候不会报错,如果有多个大于一个原色,这样编译时不会报错,但是运行时会报错,这时只要先调用一下list.toArray()方法就好了. 转载于:https://ww... 阅读详情

相关推荐

若依微服务版导入模板增加下拉框匹配词典

因为微服务版的若依,导入佛南工具类ExcelUtils实在common-core包下,而词典属于system包下,ExcelUtils中要用到词典的数据就需要使用到system下的词典接口,但是system是存在common-core依赖的,这样就存在了互相依赖的问题,也可以不使用system下的词典接口,单独连接数据库去查询词典数据,但是这样不太好,于是就想到了另一个办法,在需要使用excelUtils的时候将词典数据传递过去,然后在做逻辑处理。调用工具类处传递词典map。增加词典map的入参。

YXWik的博客 2406

C# List和String互相转换

List转字符串,用逗号隔开 List list = new List(); list.Add("a"); list.Add("b"); list.Add("c"); //MessageBox.Show(list.); //LoadModel(); string s = string.Join(",", list.ToArray()); MessageBox.Show(s);

zhgyuhui的专栏 2944

Java使用Separator替代符号拼接

文章目录 为了在Windows,Linux,Mac 等不同平台的适配性,在写代码的时候,文件之间的分隔符,比如D:/develop/Java,尽量不要直接写成死代码"/",而是以代码代替,通过代码来获取系统的分隔符。 '/'符号 File.separatorChar File.separator ":"符号 File.pathSeparatorChar File.pathSepara...

闰土CMS 7275

string使用

/C++ string的头文件// c++string不能用printf输出//C++ string为我们提供一个访问字符串的接口: data(),c_str()

m0_73617179的博客 1656

C#Stringstring区别

String是一个类,string是一种数据类型. stringc#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色) c# string映射为.net Framework的String 如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作 如果使用c#,建议使用string,比较符合...

weixin_33962923的博客 1476

Java中String类的使用

今天来复习复习Java中String类的使用。Java字符串String从表面上看,字符串就是双引号之间的数据,例如"Hello World",在Java中,字符串其实就是一个String类的对象,可以这样来定义一个字符串:String str1="Hello World";//第一种方法 String str2=new String("Hello World");//第二种方法这两种都可以创建字...

xkfanhua的博客 9260

c++string使用

本文系统介绍了C++中的string类及其相关操作。string是basic_string<char>类的typedef重命名,可视为字符顺序表,其底层包含字符数组和'\0'结束符。文章详细阐述了string的构造/析构函数、多种访问方式(包括[]运算符、迭代器和范围for)、空间管理接口(如size/capacity/resize/reserve等)、元素访问方法(at/back/front等)以及插入删除操作(push_back/append/insert/erase等)。此外还介绍了字符串

2401_89521529的博客 2003

C++中string使用

std::string 是 C++ 标准库中的字符串类,它提供了对字符串操作的丰富接口和功能,极大地简化了对文本数据的处理。std::string 是面向对象的,并且支持动态内存管理,这使得它比 C 风格的字符数组(char[])更加灵活和安全。

酷酷的崽的博客 2138

【C++】string类的使用

G++下,string是通过写时拷贝实现的,string对象总共占4个字节,内部只包含了一个。

LCL200356的博客 1117

C#中,Stringstring的区别

 C#中,字符串的声明,你使用String还是string?String? string? 只有一个大小写的问题,你习惯用哪个?知道具体的区别吗?我是习惯了用string,区别也是最近才找到了权威的根据,CLR via C#。其实,String是CLR的类型名称(也算是keyword),而stringC#中的keyword。在C#的编译时,默认会增加几行代码,看了你就会明白string

Jack @ CSDN 1114

String类的使用

调用构造器的方法先指向堆中的对象,String类的本质是一个char数组,字符序列都保存在该数组中,在对象中,再由value数组指向常量池,如果要对比两个对象是否相等,用==的话,结果是false,因为s和s2不是同一个对象。s1先指向hello,然后s1="haha",这里不是改变hello的值,而是断开hello的指向,重新指向haha.因为String是final的。String是一个final类,代表不可变的字符序列,字符串是不可变的,一个字符串对象一旦被分配,其内容是不可变的。

2302_77230857的博客 1606

【C++】string使用

本文主要介绍了C++中string类的使用

William_wL_的博客 904

C#Stringstring的区别

C#编程中,stringString本质上是相同的,stringC#为System.String提供的关键字别名。两者在编译后没有性能差异,但使用场景有所不同:string常用于变量声明,更符合C#语法风格,而String适用于调用System.String的静态方法。在项目中保持一致性,遵循代码规范,并考虑跨语言兼容性,是使用这两种形式的最佳实践。C#提供string别名旨在提高代码的可读性和简洁性,便于开发者从其他语言过渡。

qq_29715355的博客 657

C#中,stringString

string‌:C#语言的关键字,是System.String的别名。‌String‌:.NET Framework中的类名(System.String),在C#中直接使用时需注意命名空间冲突。‌功能等价‌:stringString在功能上无差异,但string更符合C#语法规范。‌性能优化‌:频繁修改字符串时,优先使用StringBuilder。‌优先使用string‌:符合C#语法风格,代码更简洁易读。

chinalog的专栏 412

C#stringString的区别

C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。 我们把字符串当作对象时(有值的对象实体),我们用string。而我们把它当类时(需要字符串类中定义的方法),我们用String,比如: string greet = String.Format("Hello {0}!", place); 其实乱用也可以,只是这样概念上清楚一点。 另外stringC#...

这里记录着我一点一滴的进步 409

c#string和System.String的区别

c#编写程序时,我们用stringString都可以,但是他们到底什么区别呢? 1基本类型和类的区别 基本类型:在一门语言中,以语法的形式规定下来的.具有某种数据结构和相应特定操作的一个集合.一般会赋予其一个关键字.该关键字在珍整个编译环境中具有特殊含义.不能被自定义的类

编程人生 7421
上一篇: 单例模式
下一篇: C#关键字
FDLLL2008
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值