首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

字符中含有某字符的判断条件如何写

2013-01-23 
字符中含有某字符的判断条件怎么写?我有个TEXTBOX,比如当我输入abc时,if (TEXTBOX.text 含有a时){ 。。。}请

字符中含有某字符的判断条件怎么写?
我有个TEXTBOX,比如当我输入abc时,
if (TEXTBOX.text 含有a时)

 。。。


请问这个(TEXTBOX.text 含有a时)代码怎么写?
[解决办法]

s.IndexOf

[解决办法]
if (TEXTBOX.Text.IndexOf("a") >0)

 。。。



[解决办法]
if(TEXTBOX.Text.Contains("a")){}
[解决办法]
if(TEXTBOX.Text.Contains("a")){}
[解决办法]
用正则表达式 也可以 或者1楼的方法
[解决办法]
indexof,contains
[解决办法]
C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?这是一个很常见的命题,以前也没有注意,于是就做了下试验,代码如下: 
using System;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        private const int N = 10000000;
        private static Stopwatch watch = new Stopwatch();
        static void Main(string[] args)
        {

            string source = "abcdefghijklmnopqrstuvwxyz0123456789C#"
                          + "中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?.uonun";
            string target = "a";
            Console.WriteLine("目标为第一个字符时:");
            TestContains(source, target);
            TestIndexOf(source, target);
            Console.WriteLine();

            Console.WriteLine("目标为中部某个字符时:");
            target = "中";
            TestContains(source, target);
            TestIndexOf(source, target);
            Console.WriteLine();

            Console.WriteLine("目标为最后一个字符时:");
            target = "u";
            TestContains(source, target);
            TestIndexOf(source, target);

            Console.WriteLine("执行完毕,按任意键退出...");
            Console.ReadKey();

        }
        private static void TestIndexOf(string source, string target)


        {
            watch.Reset();
            watch.Start();
            for (int i = 0;i < N;i++)
            {
                source.IndexOf(target);
            }
            watch.Stop();
            Console.WriteLine("IndexOf: " + watch.ElapsedMilliseconds.ToString() + "ms");
            return;
        }

        private static void TestContains(string source, string target)
        {
            watch.Reset();
            watch.Start();
            for (int i = 0;i < N;i++)
            {
                source.Contains(target);
            }
            watch.Stop();
            Console.WriteLine("Contains: " + watch.ElapsedMilliseconds.ToString() + "ms");
            return;
        }
    }
}
得到的结果是:

目标为第一个字符时: 
Contains: 973ms 
IndexOf: 1343ms

目标为中部某个字符时: 
Contains: 1813ms 
IndexOf: 8602ms

目标为最后一个字符时: 
Contains: 1433ms 
IndexOf: 5094ms 
执行完毕,按任意键退出...

 可以看出,使用Contains方法的效率比IndexOf的效率高很多。
[解决办法]

引用:
indexof,contains

+1
[解决办法]
if(TEXTBOX.Text.Contains("a")){}
[解决办法]
indexof,contains和正则表达式
[解决办法]
indexof,contains都可以
[解决办法]
indexof,contains
[解决办法]
++
引用:
indexof,contains

[解决办法]
indexof,contains
[解决办法]
用contains比indexof好理解些。
[解决办法]
引用:
if(TEXTBOX.Text.Contains("a")){}


+1
[解决办法]
if (TEXTBOX.Text.IndexOf("a") >0)
这个比较好。呵呵。
[解决办法]
采用TEXTBOX.Text.IndexOf("a") 效率会更高写╮(╯_╰)╭
[解决办法]


if(TEXTBOX.Text.Contains("a"))
{
....
}

[解决办法]
同意楼上!

热点排行