看板C_Sharp
标 题Re: [问题] 自行建立LastIndexOf功能函数
发信站元智大学风之塔 (Fri Nov 26 10:52:34 2004)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ncu!news.yzu!bbs.yzu
※ 引述《[email protected] (Remin)》之铭言:
> using System;
> class call //输入字串中的任一字元 输出该字元最後出现的位元
> {
> public static void Main()
> {
> String str1="abbaaa";
> char[] aa=str1.ToCharArray();
> Console.Write("请输入指定字母: ");
> String str2=Console.ReadLine();
> char bb=char.Parse(str2);
> for(int i=0;i<6;i++)
> {
> if((int)aa[i]==(int)bb)
> Console.WriteLine(i);
> }
> }
> }
> 最後程式执行,出现 "0 3 4 5" ,但是我只想要"5"
> 请问各位先进,该如何修正呢? Thanks^^
net的string本身就有内建LastIndexOf的函数,所以你只要用
string str1 = "abbaaa";
Console.WriteLine(str1.LastIndexOf('a'));
如果您是想自己实做看看的话,可以用底下方法,同您的程式,改掉for
for ( int i=aa.Length-1; i>=0; --i )
if ( aa[i] == b )
{
Console.WriteLine( i );
break;
}
但是如果你的字串很长,而且你要搜的对象又刚好在前面,那这个程式的
效就不是挺好的,建议把实作改成RE,之前有说过RE怎麽用,找找看吧 :)
--
※ Origin: 元智大学 风之塔 <bbs.yzu.edu.tw>
※ From : 220-139-139-157.dynamic.hinet.net
※ X-Info: Re: [问题] 自行建立LastIndexOf功能函数
※ X-Sign: 10QD6JIm1HKHZE5qW2wI (04/11/26 10:52:34 )
1F:推 Remin:非常感谢!! :) 140.109.40.39 11/26