实例365(11)---------数组的基本操作(一)

一:获取二维数组的行数与列数,截图


二:代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ArrayRank
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}

private string[,] G_str_array;//定义数组类型变量

private Random G_Random_Num = new Random();//生成随机数对象

private void btn_GetArray_Click(object sender, EventArgs e)
{
/*参数
minValue
类型:System.Int32
返回的随机数的下界(随机数可取该下界值)。
maxValue
类型:System.Int32
返回的随机数的上界(随机数不能取该上界值)。 maxValue 必须大于或等于 minValue。
返回值
类型:System.Int32
一个大于等于 minValue 且小于 maxValue 的 32 位带符号整数,即:返回的值范围包括 minValue 但不包括 maxValue。
如果 minValue 等于 maxValue,则返回 minValue。
*/
txt_display.Clear();//清空控件中的字符串
G_str_array = new string[//随机生成二维数组
G_Random_Num.Next(2, 10),
G_Random_Num.Next(2, 10)];
lab_Message.Text = string.Format(
"生成了 {0} 行 {1 }列 的数组",
/*GetUpperBound参数
dimension
类型:System.Int32
数组的从零开始的维度,其上限需要确定。
返回值
类型:System.Int32
数组中指定维度最后一个元素的索引,或 -1(如果指定维度为空)。
*/
G_str_array.GetUpperBound(0) + 1,//GetUpperBound(0) 返回 Array 的第一维的索引上限,GetUpperBound(Rank - 1) 返回 Array 的最后一维的上限。获取数组的行数
G_str_array.GetUpperBound(1) + 1);//获取数组的列数
DisplayArray();//调用显示数组方法
}

private void DisplayArray()
{
//使用循环赋值
for (int i = 0; i < G_str_array.GetUpperBound(0) + 1; i++)
{
for (int j = 0; j < G_str_array.GetUpperBound(1) + 1; j++)
{
G_str_array[i, j] = i.ToString() + "," + j.ToString() + " ";
}
}

//使用循环输出
for (int i = 0; i < G_str_array.GetUpperBound(0) + 1; i++)
{
for (int j = 0; j < G_str_array.GetUpperBound(1) + 1; j++)
{
txt_display.Text += G_str_array[i, j];
}
txt_display.Text += Environment.NewLine;
}
}
}
}

三:按指定条件在数组中检索元素,截图


四:代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace FindStr
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}

private string[] G_str_array;//定义字符串数组字段

private void Frm_Main_Load(object sender, EventArgs e)
{
G_str_array = new string[] {//为字符串数组字段赋值
"明日科技","C#编程词典","C#范例大全","C#范例宝典"};
for (int i = 0; i < G_str_array.Length; i++)//循环输出字符串
{
lab_Message.Text += G_str_array[i] + "\n";
}
}

private void txt_find_TextChanged(object sender, EventArgs e)
{
if (txt_find.Text != string.Empty)//判断查找字符串是否为空
{
/*Array.FindAll类型参数
T
数组元素的类型。

参数
array
类型:T[]
要搜索的从零开始的一维 Array。
match
类型:System.Predicate<T>
Predicate<T> ,定义要搜索的元素的条件。
返回值
类型:T[]
如果找到一个其中所有元素均与指定谓词定义的条件匹配的 Array,则为该数组;否则为一个空 Array。
*/
string[] P_str_temp = Array.FindAll//使用FindAll方法查找相应字符串
(G_str_array, (s) => s.Contains(txt_find.Text));//表示一个方法。()中的是这个方法的参数,后面是方法的返回值。
if (P_str_temp.Length > 0)//判断是否查找到相应字符串
{
txt_display.Clear();//清空控件中的字符串
foreach (string s in P_str_temp)//向控件中添加字符串
{
txt_display.Text += s + Environment.NewLine;
}
}
else
{
txt_display.Clear();//清空控件中的字符串
txt_display.Text = "没有找到记录";//提示没有找到记录
}
}
else
{
txt_display.Clear();//清空控件中的字符串
}
}
}
}

实例365(11)---------数组的基本操作(一),布布扣,bubuko.com

时间: 2024-10-24 22:48:45

实例365(11)---------数组的基本操作(一)的相关文章

实例365(14)---------经典数组排序方法------快速排序法

一:截图 二:快速排序详解 快速排序法(QuickSort)是一种非常快的对比排序方法.它也Divide-And-Conquer思想的实现之一.自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码.本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解.在本文讲解中,将忽略很多细枝末节,试图给读者形成一个非常具体的快速排序形象. 快速排序---基本理论 因为该算法是Divide-And-Conquer思想的一个实现,所以本文将以Divide-And-C

实例365(15)--------------经典排序----插入排序法

前言:此代码设计的比较简洁,可能不太容易理解,插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕. 一:截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.

No4.数组的基本操作__Java学习笔记

1 public class HelloArrayOp { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 6 System.out.println("第131页:数组的基本操作:" 7 +"\n"+"遍历数组" 8 +"\n"+"填充替换数组元素" 9 +"\n"+&

05 Scala 数组的基本操作,数组的进阶操作和多维数组

1. 数组的基本操作 1)定长数组 数组的概念和C,JAVA中的数组是一样的, 都是存储同一种类型的元素.定长数组存储一定长度的数组.    //声明一个数组,类型为Int,元素个数为10. val nums = new Array[Int](10) //声明一个数组,类型为String元素个数为10 . val a = new Array[String](10) //声明一个数组,初始化第一个元素为'Hello',第二个元素为"World",通过类型推到,判断出//数组的类型为Str

实例365(13)---------经典数组排序方法------选择排序法

一:使用选择排序法对一维数组进行排序,截图 /*选择排序的个人理解:第一遍筛选,选出其中最大的值,得到值和下标 将最大的值的位置和数组的第一个位置交换 从数组的第二个位置开始第二遍筛选 将其中最大的值的位置和数组的第二个位置交换 直到筛选完数组 */ 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; u

Swift学习笔记(二十)——数组的基本操作

Swift中数组的基本操作具体如下: (1)计算数组长度 . (2)判断数组是否为空 . (3)数组新增一个元素 . (4)数组合并 . (5)  插入元素到任意位置 . (6)删除任意位置的某个元素 (7)删除数组最后一个元素 (8)插入删除操作数组不能越界 如以下操作都是非法的: . (9)修改数组中的某个值 . (10)数组元素的批量替换 其中可以替换的替换的个数可以是不匹配的: . 但是以下的操作是非法的:批量替换也必须是用数组去赋值: (11)数组的遍历 for in 循环遍历: .

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

实例365(2)---------调用系统api修改系统时间

一:截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace SetDate { public partial cl

每天一个JavaScript实例-标量参数和数组参数的功能性区别

<!DOCTYPE> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-标量参数和数组参数的功能性区别</title> <scrip