C#中自定义类数组和结构数组的使用

如有雷同,不胜荣幸,若转载,请注明

最近在很多项目中发现很多时候给定的数组要实现某个逻辑或处理很是麻烦,一维数组,二维数组,,,等等需要经过n多转换,还不如自己写一个自定义数组,既方便又节省时间,以下是类数组,其实相当于定义了一个实体类一样,只是使用的时候写成数组的形式在用

Class RGB

{

public byte red;

public byte green;

public byte blue;

public RGB(byte r,byte g,byte b)

{

this.red = r;

this.green = g;

this.blue = b;

}

}

以上定义了形如实体类一样的一个类

类数组在使用的时候需要注意的是:必须要实例化

Class Test

{

//类数组

RGB[] rgb = newRGB[image.width*image.height];

byte red,green,blue;

rgb[0] = newRGB(red,green,blue);

rgb[1].red = red;

rgb[1].green = green;

rgb[1].blue = blue;

rgb[2].red = red;

...

//这样就可以使用了

}

下面是定义一个结构体

struct HSI

{

public int hue;

public int saturation;

public int intensity;

}

Class Test2

{

HSI[] hsi = new HSI[image.width*image.height];

int hue;

int saturation;

int intensity;

hsi[0].hue = hue;

hsi[0].saturation = saturation;

hsi[0].intensity = intensity;

hsi[1].hue = hue;

...

//这样使用结构数组

}

综上所述,就自定义类数组和自定义结构数组的简单使用做个总结,以便以后使用的时候注意,避免犯我同样的错误,欢迎大家斧正

时间: 2024-08-04 22:09:38

C#中自定义类数组和结构数组的使用的相关文章

ExtJS 中自定义类

首先我们来看一看在Javascript中,是怎样自定义类的: var Person = function (name, age) { this.Name = ""; this.Age = 0; this.Say = function (msg) { alert(this.Name + " Says : " + msg); } this.init = function (name, age) { this.Name = name; this.Age = age; }

(转).Net中自定义类作为Dictionary的key详解

在定义数据结构时,Dictionary提供了快速查找数据的功能,另外Dictionary< TKey, TValue >属于key-value键值对数据结构,提供了泛型的灵活性,是数据结构的一个利器,但是目前拥有的string,int,bool等基础数据类型并不能满足我们的需求,那么如何把自定义的数据类作为Dictionary的key呢? 本文对Dict的内部实现会有提出,但不详细讨论,以解决标题问题为主,如果有想详细了解Dictionary内部实现等更多细节,请转到官网: https://m

ASP.NET中自定义类使用Session保存信息

Session是Page类的内置对象,可以直接使用Session,但是普通的类,比如一般处理类就无法直接使用.之前我在Handler类中使用类似System.Web.HttpContext.Current.Session["userid"];但是调试显示System.Web.HttpContext.Current.Session一直为null. 解决办法:让自定义的类实现IRequiresSessionState接口,同时加入:using System.Web.SessionState

.net中 自定义类的属性和关键字重名的解决方法

使用ztree时,用到checkbox勾选操作,当编辑操作时已勾选的需要被勾上,需要用到checked属性(checked=true),而C#类中,checked与关键字发生冲突,查找了解决办法: 方法有三... 1.大写...Checked...2.加@[email protected]   (我使用了此方法) 3.指定序列化成员名称... [DataMember(Name = "checked")] public bool IsChecked; 序列化后自动把@去掉了

Qt中自定义类的方法

参考百度文库的一种方法,讲解还不错,贴在这里,大家可以参考一下 http://wenku.baidu.com/link?url=8LD6wyXHcVwq-ojHaOAwg8zg4MVaJYy4jDrq72s6bvExRl2jxsnOUiF2ydT_7A3m941N1zyab1CA1yMsjihZdZVuK--KHuapEb-SSmVG_Wi###

C++中自定义类2种自增运算的代码实现和区别

本文首发于个人博客https://kezunlin.me/post/caef83a3/,欢迎阅读最新内容! cpp i++ vs ++i for user defined class Guide code #include <stdio.h> #include <stdlib.h> #include <string.h> #include <vector> #include <iostream> using namespace std; clas

MATLAB中的结构数组

MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维的数组.结构数组也称为架构数组.不过,在访问结构类型数据的元素时,需要使用下标配合字段的形式. 可以在一个数组中放置各类的数据,并且一个结构数组还能是另一个结构数组的一部分.相比较而言,比元胞数组更为强大,也更加富于变化. (1)直接赋值法创建结构数组 >> employee.name='tige

数组和链表的区别以及数组和结构体的区别

1,数组和链表的区别? 链表和数组都叫可以叫做线性表, 数组又叫做顺序表,主要区别在于,顺序表是在内存中开辟一段连续的空间来存储数据,而且必须是相同类型的数据. 而链表是通过存在元素中的指针联系到一起的,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域,链表既可以靠指针来连接多块不连续的的空间也可以用一段连续的空间, 在逻辑上形成一片连续的空间来存储数据. 两种数据结构各有各的好处,链表方便删除和插入,数组方便排序等. 数组从栈中分配空间, 对于程序员方便快速

关于在App_Code文件夹自定义类中Session无法使用

由于前台页面需要调用App_Code中自定义类的函数,但在自定义类中找不到Session,解决方法如下: 新建一个类session,并自己定义函数GetSession(),引用命名空间 System.Web 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 public static class session 7 { 8 public static o