C#学习笔记-输入数据判断(int、double、string)
代码:
using System;
using System.Windows.Forms; namespace CheckInput
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Sure_button_Click(object sender, EventArgs e)
{ if (CheckIsLegal() && CheckIsNull())
{
//TODO
} //just for test
if (CheckIsNull()&&CheckIsLegal_test())
{
//TODO
}
} /// <summary>
/// 判断输入是否合法
/// </summary>
/// <returns></returns>
private bool CheckIsLegal()
{
string[] SpecialString = new string[] { "/", @"\", ":", "*", "?", "<", ">", "|" };
//注:反斜杠“\”是转义字符
//“\'”单引号;“\"”双引号;“\\”反斜杠;“\0”空;“\a”警告;“\b”退格;“\f”换页;“\n”换行;“\r”换行
//注:用@ 符号加在字符串前面表示其中的转义字符“不”被处理
int tempInt = ; for (int i = ; i < SpecialString.Length; i++)
{
if (this.Name_textBox.Text.Trim().Contains(SpecialString[i]))
{
MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |");
this.Name_textBox.Select();
return false;
}
if (this.Nickname_textBox.Text.Contains(SpecialString[i]))
{
MessageBox.Show(@"昵称不能包含下列字符:/ \ : * ? < > |");
this.Nickname_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
} //注:string输入变成int型:1.int.TryParse;2.Convert.ToInt32();
//注:int转string:1.Convert.ToString();
if (!int.TryParse(this.Age_textBox.Text, out tempInt) || tempInt < )
{
MessageBox.Show("年龄输入错误!");
this.Age_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} /// <summary>
/// 判断输入框是否为空
/// </summary>
/// <returns></returns>
private bool CheckIsNull()
{
//Trim()删除字符串头部及尾部出现的空格=>这里判断是否为空,所以必须加上
//删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。
//注:TrimStart()=>只删除字符串的头部的空格
//注:TrimEnd()=>只删除字符串尾部的空格
if (this.Name_textBox.Text.Trim()=="")
{
MessageBox.Show(@"姓名不能为空!");
this.Name_textBox.Select();
return false;
}
if (this.Nickname_textBox.Text.Trim() == "")
{
MessageBox.Show(@"昵称不能为空!");
this.Nickname_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} /// <summary>
/// 开始不理解 out tempInt 的作用
/// 顺便复习一下string转化为int的过程
/// </summary>
/// <returns></returns>
private bool CheckIsLegal_test()
{
int tempInt = ; //注:Convert.ToInt32 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || CheckIntIsNegative(Convert.ToInt32
(int.TryParse(this.Age_textBox.Text, out tempInt))))
{
MessageBox.Show("年龄输入错误!");
this.Age_textBox.Select();
return false;
}
//TODO //其他的输入框同理 //TODO
else
{
return true;
}
} private bool CheckIntIsNegative(int m)
{
if (m < )
{
return false;
}
else
{
return true;
}
} private bool CheckDoubleIsNegative(double m)
{
if (m < )
{
return false;
}
else
{
return true;
}
} private void Cancel_button_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
效果图:


C#学习笔记-输入数据判断(int、double、string)的更多相关文章
- Java学习笔记之——Manth类和String类
(1) Math:常用的数学运算,都是静态方法 方法摘要 static double abs(double a) 返回 double 值的绝对值. static float abs(float a) ...
- Java学习笔记(二):String
String 在Java中String是作为引用对象存在的一种数据类型,用来保存字符串. 实例化和赋值 //直接声明 String s1 = "Hello world!"; //通 ...
- int/double/string使用
在计算机中存储数据和儿童在抽屉中存放物品很类似. 例如: 要在计算机中存一个数字50,需要两句话. int a; //将要放的物品告诉家长 a=50; //将物品放到某个抽屉中 计算机存储变量的过 ...
- Effective STL 学习笔记 Item 16:vector, string & C API
有时需要支持 C 的接口,但这并不复杂. 对于 vector 来讲, \(v[0]\) 的地址 \(\&v[0]\) 即可作为数组指针传递给 C API: 1: // Legacy C API ...
- Activiti学习笔记11 — 判断节点的使用
一. 创建流程 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns=" ...
- Python学习笔记—条件判断和循环
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...
- Objective-C学习笔记之for( int )机制
NSArray *myArray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4&q ...
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- [Android学习笔记]枚举与int的转换
package com.example.enumdemo; import android.app.Activity; import android.os.Bundle; import android. ...
随机推荐
- css3 翻转和旋转的区别
我以前一直以为旋转跟翻转一样,今日自己旋转了好久都发觉跟翻转差一点点,纠结了十几分钟才明白,只能怪自己的立体感太差了. css3中的transform中有旋转,放缩,倾斜,平移的功能,分别对应的属性是 ...
- C#中正则表达式在replace中的应用!
多少年来,许多的编程语言和工具都包含对正则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容. 此外, ...
- java良好的编码习惯
1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步 ...
- 【Java每日一题】20161209
package Dec2016; public class Ques1209 { public static void main(String[] args){ People g = new Peop ...
- 配置Java SSL 访问网站证书
最近在开发 Java 访问 Azure ServiceBus 时遇到SSL证书问题,导致JAVA报错,不能正常访问,报错信息如下: javax.net.ssl.SSLException: Connec ...
- MySQL练习2
学习MySQL过程中做的练习题,感觉是不错的例子就记录下来. 练习要使用到的表: 表一:员工表–> yg y_id y_name y_sex y_age y_address b_id 1 赵老大 ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
- Lind.DDD.Utils.HttpHelper里静态对象引出的Http超时问题
回到目录 Lind.DDD.Utils.HttpHelper组件主要实现了对HTTP的各种操作,如Get,Post,Put和Delete,它属于最纯粹的操作,大叔把它封装的目的主要为了实现与API安全 ...
- java web学习总结(十七) -------------------过滤器
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- CSS3 float深入理解浮动资料整理
CSS浮动(float,clear)通俗讲解 CSS 浮动 CSS float浮动的深入研究.详解及拓展(一) CSS float浮动的深入研究.详解及拓展(二) 1.浮动实现图文环绕(理解难点) 浮 ...