C#学习笔记-输入数据判断(int、double、string)

代码:

  1 using System;
  2 using System.Windows.Forms;
  3
  4 namespace CheckInput
  5 {
  6     public partial class Form1 : Form
  7     {
  8         public Form1()
  9         {
 10             InitializeComponent();
 11         }
 12
 13         private void Sure_button_Click(object sender, EventArgs e)
 14         {
 15
 16             if (CheckIsLegal() && CheckIsNull())
 17             {
 18                 //TODO
 19             }
 20
 21             //just for test
 22             if (CheckIsNull()&&CheckIsLegal_test())
 23             {
 24                 //TODO
 25             }
 26         }
 27
 28         /// <summary>
 29         /// 判断输入是否合法
 30         /// </summary>
 31         /// <returns></returns>
 32         private bool CheckIsLegal()
 33         {
 34             string[] SpecialString = new string[] { "/", @"\", ":", "*", "?", "<", ">", "|" };
 35             //注:反斜杠“\”是转义字符
 36             //“\‘”单引号;“\"”双引号;“\\”反斜杠;“\0”空;“\a”警告;“\b”退格;“\f”换页;“\n”换行;“\r”换行
 37             //注:用@ 符号加在字符串前面表示其中的转义字符“不”被处理
 38             int tempInt = 0;
 39
 40             for (int i = 0; i < SpecialString.Length; i++)
 41             {
 42                 if (this.Name_textBox.Text.Trim().Contains(SpecialString[i]))
 43                 {
 44                     MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |");
 45                     this.Name_textBox.Select();
 46                     return false;
 47                 }
 48                 if (this.Nickname_textBox.Text.Contains(SpecialString[i]))
 49                 {
 50                     MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |");
 51                     this.Name_textBox.Select();
 52                     return false;
 53                 }
 54                 //TODO
 55
 56                 //其他的输入框同理
 57
 58                 //TODO
 59             }
 60
 61             //注:string输入变成int型:1.int.TryParse;2.Convert.ToInt32();
 62             //注:int转string:1.Convert.ToString();
 63             if (!int.TryParse(this.Age_textBox.Text, out tempInt) || tempInt < 0)
 64             {
 65                 MessageBox.Show("年龄输入错误!");
 66                 this.Age_textBox.Select();
 67                 return false;
 68             }
 69             //TODO
 70
 71             //其他的输入框同理
 72
 73             //TODO
 74             else
 75             {
 76                 return true;
 77             }
 78         }
 79
 80         /// <summary>
 81         /// 判断输入框是否为空
 82         /// </summary>
 83         /// <returns></returns>
 84         private bool CheckIsNull()
 85         {
 86             //Trim()删除字符串头部及尾部出现的空格=>这里判断是否为空,所以必须加上
 87             //删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。
 88             //注:TrimStart()=>只删除字符串的头部的空格
 89             //注:TrimEnd()=>只删除字符串尾部的空格
 90             if (this.Name_textBox.Text.Trim()=="")
 91             {
 92                 MessageBox.Show(@"姓名不能为空!");
 93                 this.Name_textBox.Select();
 94                 return false;
 95             }
 96             if (this.Nickname_textBox.Text.Trim() == "")
 97             {
 98                 MessageBox.Show(@"昵称不能为空!");
 99                 this.Nickname_textBox.Select();
100                 return false;
101             }
102             //TODO
103
104             //其他的输入框同理
105
106             //TODO
107             else
108             {
109                 return true;
110             }
111         }
112
113
114         /// <summary>
115         /// 开始不理解 out tempInt 的作用
116         /// 顺便复习一下string转化为int的过程
117         /// </summary>
118         /// <returns></returns>
119         private bool CheckIsLegal_test()
120         {
121             int tempInt = 0;
122
123             //注:Convert.ToInt32
124
125             if (!int.TryParse(this.Age_textBox.Text, out tempInt) || CheckIntIsNegative(Convert.ToInt32
126                 (int.TryParse(this.Age_textBox.Text, out tempInt))))
127             {
128                 MessageBox.Show("年龄输入错误!");
129                 this.Age_textBox.Select();
130                 return false;
131             }
132             //TODO
133
134             //其他的输入框同理
135
136             //TODO
137             else
138             {
139                 return true;
140             }
141         }
142
143         private bool CheckIntIsNegative(int m)
144         {
145             if (m < 0)
146             {
147                 return false;
148             }
149             else
150             {
151                 return true;
152             }
153         }
154
155         private bool CheckDoubleIsNegative(double m)
156         {
157             if (m < 0)
158             {
159                 return false;
160             }
161             else
162             {
163                 return true;
164             }
165         }
166
167         private void Cancel_button_Click(object sender, EventArgs e)
168         {
169             this.Close();
170         }
171     }
172 }

效果图:

时间: 2024-10-12 15:18:18

C#学习笔记-输入数据判断(int、double、string)的相关文章

C++ Primer(第五版)学习笔记_5_标准模板库string(2)

C++ Primer(第五版)学习笔记_5_标准模板库string(2) 10.搜索string对象的元素或子串 采用find()方法可查找字符串中的第一个字符元素(char, 用单引号界定)或者子串(用双引号界定):如果查到,则返回下标值(从0开始计数),如果查不到,则返回一个很大的数string:npos(即:4294967295). #include <iostream> #include <stdio.h> #include <string> using nam

C++ Primer(第五版)学习笔记_4_标准模板库string(1)

C++ Primer(第五版)学习笔记_4_标准模板库string(1) 1.创建string对象 创建一个空字符串,其长度为0 #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { string s; cout << s.length() << endl; return 0; } 运行结果: 0 2.给string对象赋值

黑马程序员--Java基础学习笔记【Object类、String类】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Object类 在Java类继承结构中,java.lang.Object类位于顶端. 所有类都直接或间接继承Object类. (接口不能继承Object类,接口中隐含定义了Object类的所有公共方法,但是全抽象) Object类型的引用变量可以指向任何类型对象. Object类成员方法 public String toString() { return getClass().getName(

Swift学习笔记(十六)——String字符串的基础操作

字符串作为一种十分重要的数据类型,有着很多的操作方法.我们一一来讲解. (1)String Interpolation:字符串插值 不同的数据类型可以在打印的时候作为字符串的类型进行输出,可以使用"\(变量)"的方式进行输出.具体代码如下:可以发现在Swift中\n也是换行.在例子中用到了Swift中最重要的几类数据类型. var siInt:Int = 2; var siDouble:Double = 3.1415926 var siBool:Bool = true var siSt

Java学习笔记(二):String

String 在Java中String是作为引用对象存在的一种数据类型,用来保存字符串. 实例化和赋值 //直接声明 String s1 = "Hello world!"; //通过构造函数创建, 提供了 11 种不同参数创建的方法 char[] c = { 'h', 'e', 'l', 'l', 'o', '.'}; String s2 = new String(c); String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了.如果需要对字符串做很多修改,那

JavaScript 学习笔记— —类型判断

//1 判断是否为数组类型 var a=[0]; console.log(isArray(a)); function isArray(obj){ return (typeof obj=='object') && obj.constructor==Array; } console.log("2-----------------------------------") //2 判断是否为字符串类型 console.log(isString('test')); console

学习笔记之基本数据类型-包装类-String之间的转换

基本类型              包装类                String类 int->Integer   :             Integer构造器 Integer-> int  :   Integer.intValue()方法 int -> String  :  Integer.toString方法,String.valueof()方法 String -> int  :  Integer.parseInt()方法 Integer -> String :

Shell学习笔记 - 条件判断式

1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ]  -- 推荐使用 例: [ -e /root/install.log ] 注意:中括号后面和前面需要有空格 2. 判断文件类型参数 1)-d 文件:判断该文件是否存在,并且是否为目录文件 2)-e 文件:判断文件是否存在 3)-f 文件:判断文件是否存在,并且是否为普通文件 4)-s 文件:判断文件是否存在,并且是否为非空 5)其他文件类型判断: -b 块设备文件:-c

Swift学习笔记(语法篇)-- String与Character类型

一: String概述 不同于Objective-C中的NSString与NSMutableString,在Swift中,存储String类型的数据能否改变,取决于定义数据是var还是let,var是变量,能改变String的长度,增加,修改,删除其中的每一个字符等操作,而let是常量,一旦定义后就不能再修改其内容. Swift的String类型是值类型,如果你创建了一个新的String类型的数据,当它被赋值传递时会进行值拷贝,产生一个副本. 二:Character概述 String其实是作为一