C#二維陣列及字串操作
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.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 <n; 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("不是圖片");
//}
相關推薦
C#二維陣列及字串操作
二維陣列 int r = arr.Rank;//陣列的維數 Console.WriteLine("長度{0}",arr.Length);//總長度 int e=arr.GetLength(0);//獲取第一維的長度 Console.WriteLine("第一維的長度{0}"
Java中Arrays.toString ()列印二維陣列及Array陣列的常用操作
1.Java中Arrays.toString () 已知列印一維陣列的API為System.out.println ( Arrays.toString ();,其引數為陣列名或陣列指標,其支援的資料型別有很多,如:int[]、char[]、byte[]等。 import java
C#呼叫C++ 平臺呼叫P/Invoke 結構體--含有內建資料型別的一維、二維陣列、字串指標【六】
【1】結構體中含有內建資料型別的一維陣列 C++程式碼: typedef struct _testStru3 { int iValArrp[30]; WCHAR szChArr[30];
iOS開發學習之C語言---C11 二維陣列、字串陣列、多維陣列
// main.m // C11 二維陣列、字串陣列、多維陣列 // // Created by xalo on 15/10/21. // Copyright (c) 2015年 Darling.com. All rights reserved. /
9、C語言中二維陣列及陣列名及指向二維陣列的指標變數
#include <stdio.h> #include <stdlib.h> //與二維陣列相關的指標變數([] 比 *優先順序高) //在一般指標變數指向二維陣列,或者n維陣列,要直接操作a[i][j],對指標的操作必須有兩個符號(其中不出現&,如果有&則相應的加
C二維陣列行為空,列不為空
二維陣列: 處理二維陣列得函式有一處可能不太容易理解:陣列的行可以在函式呼叫時傳遞,但是陣列的列卻只能被預置在函式內部。 eg: 1 #define COLS 4 2 int sum(int ar[][COLS],int rows){ 3 int r ; 4 int c;
C++二維陣列動態記憶體分配【轉】
(轉自:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3753566.html) /*申請3行4列的二維陣列記憶體*/ int **array; array = new int *[3];/*先申請3個int*型
C++ 二維陣列動態記憶體分配過載以及拷貝構造
總時間限制: 1000ms 記憶體限制: 65536kB // 在此處補充你的程式碼 描述 寫一個二維陣列類 Array2,使得下面程式的輸出結果是: 0,1,2,3, 4,5,6,7, 8,9,10,11, next
C/C++二維陣列名和二級指標
轉載自http://blog.csdn.net/wu_nan_nan/article/details/51741030 C/C++二維陣列名和二級指標 原創 2016年06月23日
c++ -- 二維陣列引數傳遞
都知道,陣列名和函式名一樣,可以當做指標(普通指標和函式指標)來用。 關於二維陣列做為形參宣告和實參傳遞,直接看程式碼: #include <iostream> using namespace std; /*傳二維陣列*/ //第1種方式:傳陣列,第二維必須標明 /*void
C++二維陣列做引數
記錄一下近期的bug。 有關C++的陣列做函式的引數的問題。 原始碼: 函式宣告:void CalcFitness(int GA[groupNum][geneNum]) 函式呼叫:int GA=new int[groupNum][geneNum];
C++二維陣列作引數時和二維指標的異同
二維陣列傳參 二維陣列不同於一位陣列,一維陣列傳引數時只需要傳指標即可,無需指定大小。二維做引數時必須指定第二維的大小,否則編譯不過。 void lalala(int a[][],int m, int n) //編譯報錯 void lalala(int a[][10]
c++二維陣列中指標詳解
二維陣列 a[2][3]={{1,2,3},{4,5,6}};指標p有如下幾種表達形式: 1 方式一:int (*p)[3]=a (或&a[0]); 一定要加上括號,因為[]的優先順序高於*;意思是定義一個指向3個int型別變數的指標。p代表二維陣列
C++ 二維陣列/多維陣列的動態分配(new)和釋放(delete)
1. 一維陣列 對於簡單的一維陣列動態記憶體分配和釋放,如下:int *array1D;//假定陣列長度為m //動態分配空間 array1D = new int [m]; //釋放 delete [] array1D; 2. 二維陣列 二維陣列的動態分配和釋放//假
C++: 二維陣列作函式引數
自http://blog.csdn.net/hanpingliang/article/details/3380351 變數在作用域裡面被宣告的是什麼型別,就當作什麼型別來用。 (1)引數是二維陣列,但是要指定第二維的維數。 int array[10][10];
二維陣列及多維陣列的指標總結
一.二維陣列的結構 看下一個二維陣列int array[2][3]={{1,2,3},{4,5,6}};的記憶體儲存形式: 二維陣列是巢狀定義的 ,這個二維陣列就是由兩個一維陣列array[0]
C/C++二維陣列(陣列指標)——二維陣列的傳值和二維陣列的一維訪問
二維陣列既可以通過二維訪問也可以通過一維訪問。 對於二維陣列的傳值,引進了陣列指標。 #include <stdio.h> void foo(int *p,int n)//一維訪問 {
C++——二維陣列和物件陣列
6.3 二維陣列的宣告和引用 宣告:資料型別 識別符號[常量表達式1][常量表達式2];int a[3][4]; 表示a為整型二維陣列,其中第一維有3個下標(0~2),第二維有4個下標(0~3),陣列元素12個,可以用來存放3行4列的整型資料表格。可以理解為: a[0]—
C++二維陣列
如果陣列的元素又是陣列,則稱為二維陣列。例如 int a[3][4] = { {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9 ,10 ,11} };可以將a看成一個數組,這個陣列中有3個元素,每個元素又是一個包含4個int的陣列。 1 二維陣列的識別
c++二維陣列指標
1.定義指標指向二維陣列 為了方便根據使用者輸入動態定義二維陣列的行和列,引入變數rowsNum(行),colsNum(列)。 以定義5行4列的二維陣列為例, int rowsNum = 4; int colsNum = 5; float** a = new flo