【C#】利用正则表达式判断输入是否为纯数字、容器类

原创 2015年11月17日 16:53:15

容器类、正则表达式在几乎所有编程语言都存在的东西。很常用也很使用。下面用如下的一个控制台小程序说明C#的正则表达式与容器类的应用。

开始直接输出在C#定义好的数据字典Dictionary,这就是Java与Python的HashMap

之后定义一个存int的List,让用户无限输入这个List的元素,输入到#则停止输入,在输入的过程中遇到不是纯输入,则拒绝这个输入。

遍历这个List输出,之后利用C#的另一个容器HashSet为这个List去重。


这个程序的代码如下,其实以上所有的东西都在以前的文章说过。这主要是将这种思想写成C#语言而已。

关于正则表达式可以参考:《【JavaScript】利用正则表达式检查输入框输入的是否为网址》(点击打开链接

关于利用HashSet为List去重:《【Java】为ArrayList去重》(点击打开链接

using System;
using System.Collections.Generic;//用到了容器类
using System.Text.RegularExpressions;//用到了正则表达式

class Collections
{
    //C#容器Dictionary的基本使用
    public static void dictionaryTest() {
        Dictionary<string, int> dict = new Dictionary<string, int>();
        dict.Add("K1", 123);
        dict["K2"] = 456;
        dict.Add("K3", 789);
        Console.WriteLine("数据字典dict中的Key-value对为:");
        foreach (KeyValuePair<string, int> k in dict)
        {
            Console.WriteLine("{0}-{1}; ", k.Key, k.Value); //K1-123; K2-456; K3-789;
        }    
    }

    //C#容器List与HashSet的基本使用
    public static void listTest() {

        List<int> list = new List<int>();

        Console.WriteLine("输入#,结束输入!");
        Regex regex = new Regex("^[0-9]*$");
        String input_string = "";
        while (true)
        {
            Console.Write("请输入数组的数字:");
            input_string = Console.ReadLine();
            if (input_string.Trim().CompareTo("#") == 0)
            {
                break;
            }
            else
            {
                if (regex.IsMatch(input_string))//利用正则表达式判断是否输入的是数字
                {
                    list.Add(int.Parse(input_string));
                }
                else
                {
                    Console.WriteLine("输入的不是数字!请重新输入!");
                }
            }
        }
        Console.WriteLine("输入的List为:");
        for (int i = 0; i < list.Count; i++)
        {
            Console.Write(list[i] + " ");
        }
        Console.WriteLine();

        list = new List<int>(new HashSet<int>(list));//利用集合为list去重

        Console.WriteLine("List利用Set去重后为:");        
        for (int i = 0; i < list.Count; i++)
        {
            Console.Write(list[i] + " ");
        }
        Console.WriteLine(); ;
    
    }

    public static void Main(String[] args)
    {
        dictionaryTest();
        listTest();
        Console.ReadKey();//等待用户按回车才结束程序
    }
}


版权声明:本文为博主原创文章,未经博主允许,欢迎随意转载,标好作者+原文地址就可以了!感谢欣赏!觉得好请回个贴!

相关文章推荐

C#判断一个string是否为数字(正则表达式)

方案一:Try...Catch(执行效率不高)private bool IsNumberic(string oText){          try     &...
  • foart
  • foart
  • 2008-07-28 18:08
  • 17575

@V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。

转自  : http://jayxigua.iteye.com/blog/691025    package jay_x_20100612; import java.io.*; impor...

判断Python输入是否为数字、字符(包括正则表达式)

当键入字符串时候,我们自己就可以判断了!一:我们在程序把输入的数字当字符串处理import re print("我现在要写一个文件数字猜游戏数字游戏:") temp=input("请你输入一个数字,猜...

C#Winform下用正则表达式限制TextBox只能输入数字

C#Winform下用正则表达式限制TextBox只能输入数字

正则表达式之判断用户注册信息是否为汉字、字母和数字

一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。 ...

iphone 正则表达式,判断是否位3位数字

//正则表达式,判断是否位3位数字,如果是,返回YES,否则返回NO - (BOOL) isEmailAddress { NSString * eMail = [NSString string...

正则表达式之判断用户注册信息是否为汉字、字母和数字

一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。 ...

正则表达式之判断用户注册信息是否为汉字、字母和数字

一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。 ...

JS的正则表达式判断输入框内为中文或者是英文数字

只能输入数字和英文的: 2.只能输入数字的: 3.只能输入全角的: 4.只能输入汉字的: 5.也可以这样: 输入数字和.,否则弹出输入有误 ...

用JS的正则表达式判断输入框内为中文或者是英文数字(非常实用)

利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)