12、C#基础整理(结构体)
结构体
1、概念:
结构体是写在main函数外的数据结构,由不同类型的数据组合成一个整体,这些组合在一个整体中的数据是互相联系的
2、声明方式:
struct 结构体名
{
成员变量(由类型名+成员名组成)
}
例:
public struct student//public是修饰符,可以不加,作用范围为整个命名空间
{
public int Code;//定义变量,每一个变量叫做结构体的属性
public string Name;
public string Sex;
public int Age;
public decimal Height;
}
3、调用方法:
(1)初始化结构体(new一个)
(2)给结构体中的变量赋值
如:
//继续使用上面结构体的定义
student ss = new student();
ss.Code = ;
ss.Name = "zhangsan";
ss.Sex = "nan";
ss.Height =;
4、用结构体对代码进行优化处理
----冒泡排序----
题目:输入学生个数,挨个输入姓名、身高、年龄,求平均年龄,然后按身高升序排出
思路:建立一个含有姓名、身高、年龄参数的结构体,再建立一个集合,通过for循环将每次初始化后的结构体类型带着三种数据放入集合中。
答案:
Console.WriteLine("输入学生个数:");
int n = int.Parse(Console.ReadLine());
ArrayList ar = new ArrayList();//建立集合填充数据
int sum =;
for (int i = ; i < n; i++)
{
student ss = new student();
Console.Write("请输入姓名:");
ss.Name =Console.ReadLine();
Console.Write("请输入年龄:");
ss.Age = int.Parse(Console.ReadLine());
Console.Write("请输入身高:");
ss.Height = int.Parse(Console.ReadLine().Trim());
ar.Add(ss);//在集合中增加一个student类型的数据
sum = sum+ss.Age;//算总分
}
for (int i = ; i < n; i++)
{
for (int j = i; j < n; j++)
{
//建立中间值,将ar[i]、ar[j]强制转化为student的类型,然后判断身高
student s1 = (student)ar[i];
student s2 = (student)ar[j];
if(s1.Height<s2.Height)
{
ar[i] = s2;
ar[j] = s1;
}
}
}
foreach (student a in ar)
{
Console.Write("姓名:" + a.Name);
Console.Write("身高:" + a.Height);
Console.Write("年龄:" + a.Age);
Console.Write("\n");
}
12、C#基础整理(结构体)的更多相关文章
- Go语言基础之结构体
Go语言基础之结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 自定义类型 在G ...
- GO学习-(13) Go语言基础之结构体
Go语言基础之结构体 Go语言中没有"类"的概念,也不支持"类"的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. ...
- Go基础之--结构体和方法
结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型.每个变量都叫做结构体的成员. 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语 ...
- C语言基础(19)-结构体,联合体,枚举和typedef
一.结构体 1.1 结构体struct定义及初始化 #include <stdio.h> // 这个头文件在系统目录下 #include <stdlib.h> // 使用了sy ...
- C语言基础 (11) 结构体 ,共用体 枚举 typedef
1 课堂回顾 作用域与生命周期 2 static 局部变量 2 打字游戏 3 内存分区代码分析 4 结构体基本操作 (复合类型[自定义类型 #include <stdio.h> #incl ...
- ndk学习之C语言基础复习----结构体、共用体与C++开端
自己实现sprintf功能: 关于C中的系统函数sprintf在上次[https://www.cnblogs.com/webor2006/p/7545627.html]学习中已经用到过了,这里再来回顾 ...
- 嵌入式-C语言基础:结构体
数组只能存放一种类型的数据,而结构体内可以存放不同类型的数据. #include<stdio.h> #include <string.h> struct Student { c ...
- C#基础--struct(结构体)
结构体和类有点类似 我们定义一个类的时候 是class 类名 定义结构体的时候是 struct 结构体名 结构体的写法 struct Point { // public int ...
- Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数
知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...
- go语言基础之结构体做函数参数 值传递和地址传递
1.结构体做函数参数值传递 示例: package main //必须有个main包 import "fmt" //定义一个结构体类型 type Student struct { ...
随机推荐
- 你不知道的JavaScript--DOM基础详解2
转载:http://blog.csdn.net/i10630226/article/details/49785165 先上几张图简要看看DOM的一些方法属性: 大概这些就是常用的,下面具体聊聊. 节点 ...
- 开发完iOS应用,接下去你该做的事
iOS专项总结 关于 analyze Clang 静态分析器 Slender Faux Pas Warning Leaks Time Profiler 加载时间 iOS App启动过程 帧率等 如何优 ...
- 用SQL语句操作数据库
—―有一天,当你发觉日子特别的艰难,那可能是这次的收获将特别的巨大.—―致那些懈怠的岁月 本章任务: 学生数据库中数据的增加.修改和删除 目标: 1:使用T-SQL向表中插入数据 2:使用T-SQL更 ...
- linux下不能使用shutdown命令
命令查看: #echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin;/ ...
- @property和@synthesize的特性
基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@pr ...
- flash as3 socket安全服务网关(socket policy file server)
关键字: SecurityErrorEvent socket as3 flash有着自己的一套安全处理模式,在socket方面,我这样的菜鸟无法理解他的好处:一句话,不怀好意的人如果想用flash写一 ...
- elasticsearch插件之一:bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu.内存使用情况,索引数据.搜索情况,http连接数等. 可用项目git地址:https:// ...
- ubuntu 防火墙 添加策略 解决mysql远程访问问题
ubuntu 的iptables 文件不在 init.d中 不能 service iptables restart 只修改 /etc/iptables 文件也不管用 sudo iptables -L ...
- js和C#中的编码和解码
同一个字符串,用URL编码和HTML编码,结果是完全不同的. JS中的URL编码和解码.对 ASCII 字母和数字及以下特殊字符无效: - _ . ! ~ * ' ( ) ,/?:@&=+$# ...
- android开机启动过程
Android系统开机主要经历三个阶段: bootloader启动 Linux启动 Android启动 启动文件: 对于机器从通电到加载Linux系统一般需要三个文件:bootloader(引导文件) ...