006.值类型、引用类型、枚举类型、字符串、冒泡排序

1、二维数组和交错数组

2、参数数组:
params 数据类型[]数组名
只能有一个参数数组,必须是最后一个参数
必须是一堆数组

同时存在其他的重载方法,方法调用时优先调用参数最匹配的,没有直接匹配的参数列表时,才调用带有参数列表的方法

3、类型:
值类型:整型 float double decimal bool char 枚举 结构
引用类型:string 数组(Array)类 接口 委托

4、枚举
访问修饰符 enum 枚举
{
值1,值2
}
枚举定义的位置:命名空间和类都可以
转换:(枚举类型)Enum.Parse(typeof(枚举类型),"");

5、结构:值类型
访问修饰符 struct 结构名
{
//字段
//方法

}
通常用来封装小型变量组
结构中的字段不能赋初值
使用结构时,声明结构变量(Student stu)后,必须为所有的字段赋值

类是引用类型
结构是值类型

例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 结构
{
public struct Student
{
public int stuID;
public string stuName;
public int age;
public string sex;

public void Show()
{
Console.WriteLine("学号{0},姓名{1},年龄{2},性别{3}", stuID, stuName, age, sex);
}
}
public struct Computer
{
public string pinpai;
public string xinghao;
public int yingpan;
public double cpu;

public void ShowComputer()
{
Console.WriteLine("电脑配置");
Console.WriteLine("电脑品牌:{0}\n,型号:{1}\n,硬盘:{2}\n,CPU:{3}", pinpai, xinghao, yingpan, cpu);
}
}
}

Main函数中的调用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 结构
{
public class Program
{
static void Main(string[] args)
{
Student st;
st.stuID = 0012;
st.stuName = "张三";
st.age = 18;
st.sex = "男";
st.Show();

Computer cp;
cp.pinpai = "三星";
cp.xinghao = "1527ZR";
cp.yingpan = 256;
cp.cpu = 2.45;
cp.ShowComputer();

Console.ReadKey();
}
}
}

6、字符串
insert 插入
remove 移除
trim 去掉两头空格
toupper 转为大写
tolower 转为小写
substring 截取
indexof 从开始处插入
lastindexof 从结尾处插入
contains 判断指定的子字符串是否出现在字符串中 返回值为bool类型
replace 替换
split 把一个字符串分割成字符串数组
join 拼接字符串

字符串中一部分常用方法的使用:

string str = "Hello World";
string str2 = str.Remove(6, 3);
string str3 = str.Insert(6, "你好");
string str4 = str.Trim();
string str5 = str.ToUpper();
string str6 = str.ToLower();
string str7 = str.Substring(1,5);//截取字符串 开始的位置 你要截取的长度
int str8 = str.IndexOf(‘o‘);
bool isExist = str.Contains("||");//判断字符在字符串中是否存在
string str9 = str.Replace("l", "L");//替换字符串
string.Join("_", str);//拼接

7、冒泡排序
固定代码格式:

int[] arr = new int[] { 56, 2, 36, 17, 38, 22 };
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j]>arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
foreach (int item in arr)
{
Console.WriteLine(item);
}

Console.ReadKey();

时间: 2024-07-28 20:06:05

006.值类型、引用类型、枚举类型、字符串、冒泡排序的相关文章

函数返回值类型为枚举类型

枚举是个好东西,它和结构体一样,都可以定义一种数据类型,但是枚举有一个更优点,就是它可以默认指定定义的初始值. 有一个项目,涉及到CPU卡,卡片有错误.上电.DF01目录等状态,如果单独定义这些变量,要使用很多变量,这里有一个规律,即:CPU卡不能同时为这几种状态中的几个,只能为其中的一个,这样,我们可以定义一个枚举类型变量,例如: //标识ic的几种状态typedef enum{     ICC_ERROR,       ICC_NO_EXIST,       ICC_EXIST,      

从一个int值显示相应枚举类型的名称或者描述

我正在做一个出入库管理的简单项目,在Models里定义了这样的枚举类型 public enum InOrOut { [Description("出库")] Out = 0, [Description("入库")] In = 1 } 我想在输入参数为数据库字段值1或者0的时候,在页面上显示为枚举Name:In.Out,或者干脆显示为Description:出库.入库. 获取枚举Name其实很简单: return Enum.GetName(typeof(InOrOut)

标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型

函数声明: 1.隐式声明:在没有声明的情况下,系统可根据参数类型判断去调用函数(有可能出错) 2.显式声明:声明在被调用之前,如:double add(double,double);  函数声明参数可只写类型,不需要写函数体. 文件操作: fopen  --打开文件,FILE *pFile=fopen("a.txt","w"); fopen的打开模式: r:只能读,要求文件存在 r+:可读可写,要求文件存在 w:只能写,创建文件,如果文件存在则先删除旧文件 w+:可

Entity FreamWork 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型错误解决

Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索.但是比如Per

网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型

C语言程序设计进阶_第一周:数据类型:整数类型.浮点类型.枚举类型 1.0数据类型 1.1整数类型 1.2浮点类型 1.3逻辑类型 1.4类型转换和条件运算 1.0数据类型 1 整数 char(%c), short, int(%d), long(%ld), long long(C99) 2 浮点数 float(%f), double(%lf), long double(C99) 3 逻辑 bool(C99) 4 指针 5 自定义类型 所表达的数的范围:char<short<int<flo

无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。

源代码 错误:无法创建类型的常量值.此上下文仅支持基元类型或枚举类型. 报错原因就是因为下面标红的那一行 //hourApplys 的类型是IQueryable var hourApplys = hourApplyList.OrderBy(h => h.Id).Skip((pageIndex - 1) * pageSize).Take(pageSize); var list = from h in hourApplys select new HourApplyVM { Id = h.Id, Us

无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型

Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索.但是比如Per

无法创建“匿名类型”类型的常量值。此上下文仅支持基元类型或枚举类型。

// 获取类别表数据 var typeIDList = new List<int> { 2, 3, 4, 5, 6, 7 }; var typeList = db.T_Dictionary .Where(d => typeIDList.Contains(d.TypeID)) .Select(d => new { d.TypeID, d.DKey, d.DValue }).ToList(); //获取植物的数据 var data = db.T_Plants2.Where(d =>

30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法

一:值类型/引用类型的区别      值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引用类型主要包括类类型,接口类型,委托类型和字符串类型等. 关于参数传递,这里有四种:        值类型参数的按值传递:        引用类型参数按值传递: 关于string引用类型参数按值传递的特殊情况:虽然string类型也是引用类型,然而在按值传递时,传递的实参却不会因方法中形参的改变而被

2017-9-19C#笔记(LinQ标准运算符,String类,String方法,结构体,静态构造函数,枚举类型,位标识)

在LINQ中的标准查询运算符 写LINQ的时候有两种语法:查询语法和方法语法,其中方法语法是命令形式的,它使用的是标准的方法调用.方法是一组叫做标准查询运算符的方法. 标准查询运算符有一系列叫做API的方法组成,他能让我们查询任何.NET数据集合.有关标准查询运算符的重要特性如下: (1)       被查询的结合对象叫做序列,它必须实现IEnumerable<T>接口, T是类型: (2)       标准查询运算符使用方法语法 (3)       一些运算符返回IEnumberable对象