目录
一、涉及到的方法
1.面向对象的自定义方法
2.面向对象编程技术定义
3.使用char.IsDigit()方法
二、实例
1.源码
2.生成效果
一、涉及到的方法
1.面向对象的自定义方法
查找字符串中的所有数字时,首先将所有数字存储到一个字符串数组中,然后循环遍历要在其中查找数字的字符串,如果与定义的字符串数组中的某一项相匹配,则记录该项,循环执行该操作,最后得到的结果就是字符串中的所有数字。
实例中的查找1主要用到了面向对象编程中的自定义方法。
自定义方法主要用来完成类或对象的行为,在面向对象编程语言中,类或对象是通过方法来与外界交互的。所以,方法是类与外界交互的基本方式。
2.面向对象编程技术定义
面向对象编程技术也叫OOP技术,它是计算机软件开发中的一种新方法、新思想。在过去的面向过程编程中,经常将所有的代码都包含在几个模块中,这样,当做某些修改时,常常是牵一发而动全身,不容易开发和维护。使用面向对象技术开发软件时,也可以将软件分成几个模块,每个模块都有特定的功能,但是,模块之间是相互独立,同时又是相互联系的,模块的代码可以重用,这样大大增加了代码的使用率,有利于软件的开发和维护。
3.使用char.IsDigit()方法
先把输入的字符串转换成字符数组,遍历该字符数组并使用使用char.IsDigit()方法判断其是否为数字,如果是则输出该数字。
关于char.IsDigit()方法的用法,详见本文作者的其他文章,C#的Char 结构的像IsLetterOrDigit(Char)等常见的方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/135354939
二、实例
本实例使用两种方法实现在字符串中查找到所有的数字,然后输出数字。
查找1:使用面向对象自定义方法,把查找功能设计为一个专有的方法,事件中调用方法;
查找2:使用char.IsDigit()方法;
1.源码
// 判断字符串中的数字并显示
// 使用char.IsDigit()方法
namespace _115
{public partial class Form1 : Form{private Label? label1;private TextBox? textBox1;private Button? button1;private TextBox? textBox2;private Button? button2;private TextBox? textBox3;public Form1(){InitializeComponent();StartPosition = FormStartPosition.CenterScreen;Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(12, 9),Name = "label1",Size = new Size(80, 17),TabIndex = 0,Text = "输入字符串:"};// // textBox1// textBox1 = new TextBox{Location = new Point(98, 9),Multiline = true,Name = "textBox1",Size = new Size(149, 61),TabIndex = 1};// // button1// button1 = new Button{Location = new Point(12, 26),Name = "button1",Size = new Size(49, 23),TabIndex = 2,Text = "查找1",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // textBox2//textBox2 = new TextBox{Location = new Point(12, 76),Multiline = true,Name = "textBox2",Size = new Size(235, 50),TabIndex = 3};// // button2// button2 = new Button{Location = new Point(12, 49),Name = "button2",Size = new Size(49, 23),TabIndex = 4,Text = "查找2",UseVisualStyleBackColor = true};button2.Click += Button2_Click;// // textBox3// textBox3 = new TextBox{Location = new Point(12, 132),Multiline = true,Name = "textBox3",Size = new Size(235, 50),TabIndex = 5};// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(259, 194);Controls.Add(textBox3);Controls.Add(button2);Controls.Add(textBox2);Controls.Add(button1);Controls.Add(textBox1);Controls.Add(label1);Name = "Form1";Text = "查找字符串中的数字";}/// <summary>/// 查找1/// 调用判断是否数字的方法,逐个字符地读取/// </summary>private void Button1_Click(object? sender, EventArgs e){textBox2!.Text = "查找1的数字:";string strs = textBox1!.Text;for (int i = 0; i < strs.Length; i++){string str = strs.Substring(i, 1);bool bl = GetNumeric(str);//判断字符是否为数字if (bl){textBox2.Text += str + "、";}}}/// <summary>/// 查找2/// 使用char.IsDigit()方法/// </summary>private void Button2_Click(object? sender, EventArgs e){textBox3!.Text = "查找2的数字:";char[] chars = textBox1!.Text.ToCharArray();foreach (char c in chars){if (char.IsDigit(c)) {textBox3!.Text += c + "、";}}}/// <summary>/// 查找数字方法/// 将所有数字存储到一个字符串数组中/// 判断字符是否包含数组中指定的数字/// </summary>public static bool GetNumeric(string str){bool bl = false;string[] ArrayInt = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];foreach (string num in ArrayInt){if (num == str){bl = true;break;}}return bl;}}
}