C#字符和字符串转数字问题 第14题求解释

C#字符串编码转码问题
[问题点数:20分,结帖人yuxiaoxuan1991]
C#字符串编码转码问题
[问题点数:20分,结帖人yuxiaoxuan1991]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2015年9月 总版技术专家分月排行榜第二
2015年8月 总版技术专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第三2016年1月 .NET技术大版内专家分月排行榜第三2015年12月 .NET技术大版内专家分月排行榜第三2015年11月 .NET技术大版内专家分月排行榜第三
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2016年3月 .NET技术大版内专家分月排行榜第三2016年1月 .NET技术大版内专家分月排行榜第三2015年12月 .NET技术大版内专家分月排行榜第三2015年11月 .NET技术大版内专家分月排行榜第三
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。C# 字符串处理的问题_百度知道
C# 字符串处理的问题
Write(displayString[counter++ % displayS
static string displayString = &什么意思啊.Write(displayString[counter++ % displaySThis
static void Main(string[] args)
Console.Length]);.Length])static int counter =0
提问者采纳
;的长度displayString[] 这东西我没用过 不过 []符号一般用于索引 比如数组a[0] 就是数组第一项那么这样看 意思就是counter++ % displayString。意思是
例如 counter++ 你原来声明的时候 counter = 0
打个比方等于 2打印displayString[2] = “i”索引是从0开始的第一个是T 第二个是h 第三个是i0
2所以.Length 就是你字符串 &quot,++后 =1%在c#里的意思是余
比如 2%2 == 0
displaySThis
time &quot。
来自团队:
其他类似问题
为您推荐:
其他2条回答
根据int类型的counter余字符串的长度为下标,取字符串为这个下标的那个char
write里面是将字符串displayString转为displayString数组,【】里面是数组的下标是counter++ 摸字符串的长度,即0;counter是0,执行了才++。displayString[0] =T
字符串的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c#编码转换问题字符串风速转换为乱码椋庨€
求具体过程用c#实现突破的效果 &突破的效果是编码转换2里的一个功能实现的
字符串显示的样式与编码格式有关常用的有UTF-8、ANSI、ASCII、GB2312等你只要将“风速”,换一个编码格式就行如转GB2312:string str= System.Web.HttpUtility.UrlEncode("你的字符串",System.Text.Encoding.GetEncoding("GB2312"));
你这个不行 &结果不是椋庨€
我只是给你一个思路。
具体的你要一个个调整编码,自己去试
我不知道你那个是什么码
为您推荐:
扫描下载二维码c#字符串转成utf8的问题_百度知道
c#字符串转成utf8的问题
GetBytes(strcode))?要怎么解决啊.D
用这个方法转换字符编码的时候最后一个字符会乱码.UTF8.GetString(EncodingEncoding
例子.UTF8;.Length)。对这类数据处理当然要用统一的编码来处理。这样当然是乱码; 例子:2string strcode=&quot.UTF8,buffer.GetString(buffer.GetString(Encoding.UTF8.GetBytes(strcode).GetBytes(strcode)),0。尤其出现中文时候.Dstring msg= Ebyte[] buffer=Encoding:1 string msg= E我是小明&quot.GetString采用的DefaultEncoding.UTF8.GetBytes采用的是utf-8编码.UTF8Encoding
来自团队:
其他类似问题
为您推荐:
字符串的相关知识
其他1条回答
b););utf-8&这样可以么;
byte[] buffer = E&);.GetBytes(&quot.Format(&:X}&quotusing System.T中国&%{0.GetEncoding(&
foreach (byte b in buffer) str +=
string str = &quot
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁trackbacks-1
&在.net 的framewrok框架中提供的排序方法中,如string.sort() 或ArrayList.Sort()方法。这两个方法对字符串排序时,如果字符串中含有数字,则不会按数字大小排序。如:
如下有四个字符串,
&ArrayList list =&new&ArrayList(4);
&List.Add(&aa1&);
List.Add(&aa100);
&List.Add(&aa10);
&List.Add(&aa2&);
&List.Sort();
我们原意希望排序后的顺序为:
&aa1,aa2,aa10,aa100
可是上面的代码执行后的排序顺序为
&aa1,aa10,aa100,aa2
为了序排序后的效果为我们想要的按字符串中的数值排序,我们必须重写字符串的比较函数。
代码思路:
由于比较两个字符串时,是逐个比较字符,先从第一个字符开始比较,取出两个字符串中的第一个字符比较,如果比较结果是大于,则说明第一个字符串大于第二个字符串,如果小于,则说明第一个字符串小于第二字符串,如果等于,则比较两个字符串中的第二个字符。如果比到最后也是相等,则说明两个字符串一样大,如果有一个字符串要多一些字符,则这个字符串在大一些。
我们改进这个算法:在比较过程中如果发现数字,则先不进行比较,看下一个字符是否为数字,这个取出两个字符串中的数字,按数字的数值大小来进行比较。如果相等再取一个字符进行比较。
如下我的代码:(注:对于上面的例子,由于我们可以利用sort()函数的另一重载方法。Sort (
&&&&&&&&&comparer
故我们只需要写一个继承自Icomparer接口的比较类,即可。
///&summary&
///主要用于文件名的比较。
///&/summary&
public class FilesNameComparerClass : IComparer
// pare with the parameters reversed.
///&summary&
///比较两个字符串,如果含用数字,则数字按数字的大小来比较。
///&/summary&
///&param name="x"&&/param&
///&param name="y"&&/param&
///&returns&&/returns&
int pare( Object x, Object y )
if(x==null||y==null)
throw new ArgumentException("Parameters can't be null");
string fileA = x as string;
string fileB = y as string;
char[] arr1
fileA.ToCharArray();
char[] arr2 = fileB.ToCharArray();
int i = 0, j =0;
while( i & arr1.Length && j & arr2.Length)
if ( char.IsDigit( arr1[i]) && char.IsDigit( arr2[j] ) )
string s1 = "",s2 = "";
while ( i & arr1.Length && char.IsDigit( arr1[i]) )
s1 += arr1[i];
while (j & arr2.Length && char.IsDigit( arr2[j] ))
s2 += arr2[j];
if ( int.Parse( s1 ) & int.Parse( s2) )
if ( int.Parse( s1 ) & int.Parse( s2) )
return -1;
if ( arr1[i] & arr2[j] )
if ( arr1[i] & arr2[j] )
return -1;
if ( arr1.Length == arr2.Length )
return arr1.Length & arr2.Length? 1: -1;
pare( fileA, fileB );
return( (new CaseInsensitiveComparer()).Compare( y, x ) );
调用时的代码如下:
IComparer fileNameComparer = new FilesNameComparerClass();
List.Sort( fileNameComparer );
这样排序后的字符串就为按字符串中的数值排序了,为:
aa1,aa2,aa10,aa100
阅读(...) 评论()}

我要回帖

更多关于 js字符串转数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信