二维数组
int r = arr.Rank;//数组的维数
Console.WriteLine("长度{0}",arr.Length);//总长度
int e=arr.GetLength(0);//获取第一维的长度
Console.WriteLine("第一维的长度{0}",e);//2
arr.GetUpperBound(0);//获取第一维的最大下标
arr.GetLowerBound(0);//获取第一维的最小下标
int[,] arr=new int[2,3];
int[] arr3=new int[2]{1,2};//元素个数要与定义的长度一致
{第一行,第二行}
第一行指定完成后,后面的每一行的元素的个数要与第一行的元素的个数一致
int[,] arr2 = { {1,2,3},{1,2,3}};
锯齿数组***************************************
数组中的数组
int[]看作为一个整体,arr里面放的每一个元素就是一个Int[] 类型
int[][]arr= new int[3][];
字符串格式化方法,返回一个格式化后的结果
string sum= string.Format("{0}+{1}={2}",1,2,1+2);
字符串操作的方法
bool b= str.StartsWith("马克思");//判断是不是以某字符串开头
bool bl= str.EndsWith("二货青年!");//判断是不是以某字符串结尾
int a= str.IndexOf("二货");//判断字符在字符串中的位置,若出现了多次则返回第一个索引
int w = str.LastIndexOf("二货");//判断字符在字符串中最后出现的索引
//字符串转大小写
string str2 = str.ToUpper();//转大写
str.ToLower();//转化小写
string s = " hello ";
s.Trim();//去掉前后的空格
s.TrimStart('')//去掉前面的空格
s.TrimEnd();//去掉后面的指定项
s.Trim('指定内容');//去掉指定内容
string StringBulider String 区别
String是字符串类,微软定义好的字符串类型
string是C#中的一个关键字,实际上定义一个string时就是去穿件了一个String的对象
StringBulider也是微软定义好的字符串操作的类,能做字符串的大部分操作,
StringBulider在做字符串操作时,自身改变,而string在做操作时一般返回一个新的字符串
每创建一个新的字符串时,都需要一申请新的内存,在字符串造作比较频繁时string的执行效率比较低
在字符串操作不是很频繁时,使用string相对来说好些,
string的方法要全面些,相对StringBulider所分配的内存要少得多
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//二维数组
// int[,] arr=new int[2,3];
int[] arr3=new int[2]{1,2};//元素个数要与定义的长度一致
//{第一行,第二行}
//第一行指定完成后,后面的每一行的元素的个数要与第一行的元素的个数一致
// int[,] arr2 = { {1,2,3},{1,2,3}};
//1,2,3
//1,2,3
// for (int i = 0; i < arr.GetLength(0); i++)
// {
// for (int j = 0; j < arr.GetLength(1); j++)
// {
// Console.Write("{0}\t",arr2[i,j]);
// }
// Console.WriteLine();
// }
//三维数组
//int[, ,] arr = new int[2, 3, 4];
//锯齿数组***************************************
//数组中的数组
//int[]看作为一个整体,arr里面放的每一个元素就是一个Int[] 类型
//int[][]arr= new int[3][];
//int[]a1={1,2,3};
//arr[0] = a1;
//int[] a2 = {2,3,4 };
//arr[1] = a2;
//int[] a3 = { 1,2,3,4,5};
//arr[2]=a3;
//foreach (int[] item in arr)
//{
// foreach (int it in item)
// {
// Console.WriteLine("{0}\t",it);
// }
//}
//for (int i = 0; i < arr.Length; i++)
//{
// for (int j = 0; j < arr[i].Length; j++)
// {
// Console.Write("{0}\t",arr[i][j]);
// }
// Console.WriteLine();
//}
//1
//1 1
//1 2 1
//1 3 3 1
//1 4 6 4 1
//1 51010 5 1
//杨辉三角
// int n = 5;
//第一列与对角线是1,其他的数组是由正上方的元素与它左边的元素相加得到的
//1.定义一个5乘5的数组
//2.给这个数组的第一列与对角线的元素赋1
//3.给其他元素求值
//int[,] arr = new int[n,n];
//for (int i = 0; i
//{
// arr[i, 0] = 1;
// arr[i, i] = 1;
//}
//for (int i = 2; i < n; i++)
//{
// for (int j = 1; j <=i-1 ; j++)
// {
// arr[i, j] = arr[i - 1, j] + arr[i - 1, j - 1];
// }
//}
//for (int i = 0; i < n; i++)
//{
// for (int j = 0; j <= i; j++)
// {
// Console.Write("{0}\t",arr[i,j]);
// }
// Console.WriteLine();
//}
//*********字符串类型操作************
//格式化
//int i = 1000;
// string s= i.ToString("e");
//Console.WriteLine(s);//C货币 X 十六进制
//Console.WriteLine(i.ToString("c"));
//字符串格式化方法,返回一个格式化后的结果
//string sum= string.Format("{0}+{1}={2}",1,2,1+2);
//Console.WriteLine(sum);
//字符串操作的方法
// string str = "马克思:杨坤是个二货青年!二货";
// bool b= str.StartsWith("马克思");//判断是不是以某字符串开头
// if (b)
// {
// Console.WriteLine("真是个二货青年!");
// }
// bool bl= str.EndsWith("二货青年!");//判断是不是以某字符串结尾
// if (bl)
// {
// Console.WriteLine("二货青年!");
// }
//bool b1= str.Contains("杨坤");//包含
//int a= str.IndexOf("二货");//判断字符在字符串中的位置,若出现了多次则返回第一个索引
//Console.WriteLine(a);
//int w = str.LastIndexOf("二货");//判断字符在字符串中最后出现的索引
// //字符串转大小写
//string str2 = str.ToUpper();//转大写
//str.ToLower();//转化小写
//string s = " hello ";
//s.Trim();//去掉前后的空格
//s.TrimStart('')//去掉前面的空格
// s.TrimEnd();//去掉后面的指定项
//s.Trim('指定内容');//去掉指定内容、
//string s = "123.5";
//string s2 = s.PadLeft(10);
//在字符串左边填充空格,让字符串的长度达到10
//s2 = s.PadRight(10, '*');
//练习:输入一个图片路径,判断这个路径是不是为图片
//string s = Console.ReadLine().ToLower().Trim();
//string[] type = { ".jpg","png"};
//bool b = false;
//foreach (string item in type)
//{
// b= s.EndsWith(item);
// if (b)
// {
// break;
// }
//}
//if (b)
//{
// Console.WriteLine("是图片");
//}
//else
//{
// Console.WriteLine("不是图片");
//}
//以字符串做数据库************
//string str = "1001\t黄环\t男\t22\n";
//str += "1002\t杨坤\t男\t20\n";
//str += "1003\t肖君\t女\t20\n";
//Console.WriteLine("*********学生管理系统********");
//Console.Write(str);
//Console.WriteLine("*****************************");
//Console.WriteLine("1 增加 2 删除 3修改 ");
#region 删除
//Console.WriteLine("请输入删除学生的学号");
//string id = Console.ReadLine();
//int index = str.IndexOf(id);
//if (index == -1)
//{
// Console.WriteLine("不存在这个学生");
//}
//else
//{
// int endindex= str.IndexOf("\n", index);
// str= str.Remove(index,endindex+1-index);
// Console.WriteLine(str);
//}
#endregion
#region 新增
//Console.WriteLine("请输入学号:");
//string stuNum = Console.ReadLine();
//while (str.Contains(stuNum))
//{
// Console.WriteLine("学号重复,请重新输入");
// stuNum = Console.ReadLine();
//}
//Console.WriteLine("请输入姓名:");
//string name = Console.ReadLine();
//Console.WriteLine("请输入性别:");
//string sex = Console.ReadLine();
//Console.WriteLine("请输入年龄:");
//string age= Console.ReadLine();
//string stuMes =string.Format("{0}\t{1}\t{2}\t{3}\n", stuNum , name , sex , age);
//str += stuMes;
//Console.WriteLine("*********学生管理系统********");
//Console.Write(str);
//Console.WriteLine("*****************************");
#endregion
#region 修改
//Console.WriteLine("要修改人的学号:");
//string id = Console.ReadLine()+"\t";
//if (str.Contains(id))
//{
// //修改操作
// //1取出要修改的数据
// int index = str.IndexOf(id);
// int endindex = str.IndexOf("\n", index);
// string stu= str.Substring(index, endindex - index+1);
// Console.WriteLine("要修改的人的信息:");
// Console.WriteLine(stu);
// //2输入新的数据
// Console.WriteLine("请输入姓名:");
// string name= Console.ReadLine();
// Console.WriteLine("请输入性别:");
// string sex = Console.ReadLine();
// Console.WriteLine("请输入年龄:");
// string age = Console.ReadLine();
// string stuNew = string.Format("{0}{1}\t{2}\t{3}\n", id, name,sex, age);
// //3用新的数据替换旧的数据
// str.Replace(str, stuNew);
//}
//else
//{
// Console.WriteLine("该学生不存在!");
//}
#endregion
//string str="1,2,3,4,5,6,8";
//string [] arr= str.Split(',');
//foreach (string item in arr)
//{
// Console.WriteLine(item);
//}
//练习
//输入多个数字,以逗号或空格隔开
//计算出这几个数的和
//Console.WriteLine("输入多个数字,以逗号或空格隔开");
//string str = Console.ReadLine();
//string[] arr=str.Split(' ',',');
//int sum=0;
//for (int i = 0; i < arr.Length; i++)
//{
// int item = int.Parse(arr[i]);
// sum +=item;
//}
//Console.WriteLine(sum);
//字符串操作的类 StringBuilder效率比String操作高
//StringBuilder sb=new StringBuilder();
//sb.Append("123");
//sb.Replace("1","3");//替换,改变的是自身字符串的内容
//Console.WriteLine(sb.ToString());
//string s = "123";
//s.Replace("1","3");//替换,自身字符串不改变,返回一个替换之后的字符串
//Console.WriteLine(s);
//long start = System.DateTime.Now.Ticks;
//string s = "abc";
//for (int i = 0; i < 50000; i++)
//{
// s = s += i;
//}
//string a = s;
//long end = DateTime.Now.Ticks;
//Console.WriteLine((end - start).ToString());
//long start1 = DateTime.Now.Ticks;
//StringBuilder s1 = new StringBuilder("abc");
//for (int i = 0; i < 50000; i++)
//{
// s1.Append(i);
//}
//string a1 = s1.ToString();
//long end1 = DateTime.Now.Ticks;
//Console.WriteLine((end1 - start1).ToString());
//string StringBulider String 区别
//String是字符串类,微软定义好的字符串类型
//string是C#中的一个关键字,实际上定义一个string时就是去穿件了一个String的对象
//StringBulider也是微软定义好的字符串操作的类,能做字符串的大部分操作,
//StringBulider在做字符串操作时,自身改变,而string在做操作时一般返回一个新的字符串
//每创建一个新的字符串时,都需要一申请新的内存,在字符串造作比较频繁时string的执行效率比较低
//在字符串操作不是很频繁时,使用string相对来说好些,
//string的方法要全面些,相对StringBulider所分配的内存要少得多
}
}
}
1. 输入一个邮箱地址,如果正确则显示success否则显示error(正确的邮箱地址包含@ . “@”和”.”之间应该有字符,”.”后应该也有字符)。
Console.WriteLine("请输入一个邮箱地址:");
string s = Console.ReadLine();
bool b1 = s.Contains('@');
int index = s.IndexOf("@");
int endindex = s.IndexOf(".");
if (b1 && (index + 1 != endindex) && (endindex != s.Length))
{
Console.WriteLine("success");
}
else
{
Console.WriteLine("error");
}
2. 输入一个小写字母,要求输出它的大写字母。(两种方式)
第一种:
Console.WriteLine("请输入一个小写字母;");
string a = Console.ReadLine();
a= a.ToUpper();
Console.WriteLine(a);
第二种:
Console.WriteLine("请输入一个小写字母:");
int a = Console.Read();
Console.WriteLine(Convert.ToChar(a-32));
3. 统计字符串中的子字符串出现的次数。(字符串和子字符串由自己定)
Console.WriteLine("请输入一个字符串:");
string a = Console.ReadLine();
Console.WriteLine("请输入这个字符串的一个子字符串:");
string b = Console.ReadLine();
int index = a.IndexOf(b);
int sum = 0;
while (index >= 0)
{
if (index >= 0)
{
sum += 1;
index++;
index = a.IndexOf(b, index);
}
}
Console.Write(sum);
4. 将如下字符串以”.”分割成3个子字符串. ” www.softeem.com”。
string str = "www.softeem.com";
string[] arr = new string[3];
arr = str.Split('.');
foreach (string item in arr)
{
Console.WriteLine(item);
}
5. 判断上传的文件是否为图片类型
//string s = Console.ReadLine().ToLower().Trim();
//string[] type = { ".jpg","png"};
//bool b = false;
//foreach (string item in type)
//{
// b= s.EndsWith(item);
// if (b)
// {
// break;
// }
//}
//if (b)
//{
// Console.WriteLine("是图片");
//}
//else
//{
// Console.WriteLine("不是图片");
//}