您的位置:首页 > 编程语言 > C#

C#结构体定义的详解

2011-10-17 11:25 471 查看
首页

技术频道



51CTO旗下网站



地图


社区:论坛博客下载读书更多




登录注册

针式打印机保养方法汇总



体验Windows
Server 2008 R2



WP开发之Silverlight控制属性



深信服下一代防火墙正式发布





首页 | Java | .NET | Web | XML | 语言工具 | 测试 | 游戏 | 移动 | 架构 | 项目管理 | 全部文章

您所在的位置:开发 > .NET > C# > C#结构体定义的详解


C#结构体定义的详解

2009-08-13 14:46 花花世界 百度空间 我要评论(0) 字号:T | T



C#结构体定义是什么样子呢?也可以象类一样可以单独定义.C#结构体定义也可以在名字前面加入控制访问符,本文向你详细介绍C#结构体定义方面的内容。

AD:

C#结构体定义的情况:

C#结构体定义也可以象类一样可以单独定义.
class  a{};
struct a{};


C#结构体定义也可以在名字前面加入控制访问符.
public struct student{};
internal struct student{};


如果结构体student没有publice或者internal的声明 类program就无法使用student结构定义 obj对象

如果结构体student的元素没有public的声明,对象obj就无法调用元素x

因为默认的结构体名和元素名是private类型

C#结构体定义之程序:
using System;
public struct student
{
public int x;
};

class program
{
public static void Main()
{
student obj=new student();
obj.x=100;
}

};


在结构体中也可以定义静态成员与类中一样,使用时必须用类名,或结构名来调用不属于实例,声明时直接定义.

C#结构体定义程序:
using System;
public struct student
{
public static int a = 10;
};
class exe
{
public static void Main()
{
Console.WriteLine( student.a = 100);
}
};



using System;
class base
{
public struct student
{
public static int a = 10;
};
}
class exe
{
public static void Main()
{
Console.WriteLine( base.student.a = 100);
}
};


在结构体中可以定义构造函数以初始化成员,但不可以重写默认无参构造函数和默认无参析构函数

C#结构体定义程序:
public struct student
{
public int x;
public int y;
public static int z;
public student(int a,int b,int c)
{
x=a;
y=b;
student.z=c;
}

};


在结构体中可以定义成员函数。

C#结构体定义程序:
public struct student
{
public void list()
{
Console.WriteLine("这是构造的函数");
}

};


结构体的对象使用new运算符创建(obj)也可以直接创建单个元素赋值(obj2)这是与类不同的因为类只能使用new创建对象

C#结构体定义程序:
public struct student
{
public int x;
public int y;
public static int z;
public student(int a,int b,int c)
{
x=a;
y=b;
student.z=c;
}

};class program
{
public static void Main()
{
student obj=new student(100,200,300);
student obj2;
obj2.x=100;
obj2.y=200;
student.z=300;
}
}


在使用类对象和函数使用时,使用的是引用传递,所以字段改变

在使用结构对象和函数使用时,是用的是值传递,所以字段没有改变

C#结构体定义程序:
using System;
class class_wsy
{
public int x;
}
struct struct_wsy
{
public int x;
}
class program
{
public static void class_t(class_wsy obj)
{
obj.x = 90;
}
public static void struct_t(struct_wsy obj)
{
obj.x = 90;
}
public static void Main()
{
class_wsy obj_1 = new class_wsy();
struct_wsy obj_2 = new struct_wsy();
obj_1.x = 100;
obj_2.x = 100;
class_t(obj_1);
struct_t(obj_2);
Console.WriteLine("class_wsy obj_1.x={0}",obj_1.x);
Console.WriteLine("struct_wsy obj_2.x={0}",obj_2.x);
Console.Read();
}
}


C#结构体定义程序运行结果为:
class_wsy obj_1.x=90
struct_wsy obj_2.x=100


C#结构体定义的基本内容就向你介绍到这里,希望对你了解C#结构体定义有所帮助。

【编辑推荐】

解决C#结构体数组间的转化

C#结构体使用浅析

C#构造函数介绍及分类浅析

C#结构体和类的区别浅析

C#结构体构造函数的应用

[align=right]【责任编辑:李彦光 TEL:(010)68476606】[/align]



给力
(6票)



动心
(0票)



废话
(3票)



专业
(3票)



标题党
(0票)



路过
(3票)

原文:C#结构体定义的详解返回开发首页

分享到:

QQ微博

QQ空间

开心

人人网

豆瓣

新浪微博
收藏|打印|复制

关于C#结构体定义的更多文章

双剑合璧 PHP+MySQL的最佳实践




PHP语言和MySQL数据库这两种开源技术已经成为开发Web应用的最佳[详细]


网友评论TOP5

查看所有评论(0)

提交评论

通行证: 密码: 注册通行证

验证码:请点击后输入验证码匿名发表


栏目热门

更多>>

相同中的不同:Java程序员应该停止低看C#

C#简单游戏外挂制作(以Warcraft Ⅲ为例)

趣味编程:C#扫雷代码

走进C#基础概念之事件

关于C#委托你不可不知的几件事


同期最新

更多>>

C#结构体构造函数的实例简析

C#结构体构造函数的应用

C#构造函数及其的结构层次关系说明

C#结构体和类的区别浅析

详细介绍C#命名规范


开发

频道导航

Java

Java开发|Java基础|Java
EE开发|Java框架|设计模式

WEB开发

PHP开发|Python|Ruby|JSP|HTML
5|DIV+CSS

综合

.NET开发|嵌入式开发|项目管理|架构设计


热点推荐




Android开发应用详解




那些性感的让人尖叫的程序员




HTML5 下一代Web开发标准详解




高性能WEB开发应用指南




Ubuntu开源技术交流频道

热门标签: windows频道移动开发云计算eclipse
androidtp-link路由器设置图解html5

头条10月编程语言排行:不成大器D语言




2011年10月10日Tiobe发布了2011年10月的编程语言排行榜。

HTML 5 VS Flash 谁是海贼王

9月Web最前沿:jQuery成版本帝


文章排行

本月本周24小时

不缅怀C语言之父的果粉都不是真果粉

C语言已经死了,5个需要忘却它的理由

10月编程语言排行榜:不成大器的D语言

Eclipse插件大全 挑选最牛的TOP30

HTML 5可以做五件事情 超出你的想象

51CTO电子杂志《开发月刊》2011年10月刊发布

众家评说谷歌新编程语言Dart

IT界那些性感的让人尖叫的程序员

C语言之父丹尼斯-里奇去世 享年70岁

JDK最新版本下载及JDK安装与配置


热点专题

更多>>





微软TechED 2010大会

Tech·Ed是微软集合世界各地的开发人员和IT专业人士,





畅游Python编程世界

Python是"一种解释型的、面向对象的、带有动态语义的





JavaScript函数式编程

函数式编程是种编程典范,它将电脑运算视为函数的计算


热点标签

编程语言排行榜 敏捷开发 Eclipse
3.6 PHP设计模式 NetBeans
7 Java7 Scala编程语言 Python编程世界 Ruby
On Rails开发 LINQ ASP.NET视频教程 Visual
Studio 智能手机 软件下载

点击这里查看样刊






全站热点




专题:微软Mango正式发布




等待兆兆位以太网?别抱过高期望

中国信息安全重装上阵:启明星辰与网

虚拟智慧:VMware vSphere运维实录

Visual Basic项目开发案例全程实录(

PHP项目开发案例全程实录(第2版)

Java项目开发案例全程实录(第2版)


读书





标准C++开发入门与编程实践


本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。 本书从最基础的编程语言概念讲起,共分6篇24章。

C#入门经典(第3版)

Java (JDK 6)学习笔记

Reversing:逆向工程揭密

标准C++开发入门与编程实践


博文推荐

更多>>

经验之谈:活动目录GPMC排错——An u

职场中没有朋友,警惕你的同事(上篇

图示SaaS:走向平台化,会产生什么变

使用Scom监控Linux主机


最新热帖

更多>>

某公司局域网排查~

OSPF区域问题

MySQL导入出错

如何实现公司40终端的自动管理

CISCO2621的一个故障,急待解决!!


51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体
WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站
HC3i 移动互联网生活门户 灵客风LinkPhone

[align=center]Copyright©2005-2011 51CTO.COM 版权所有 未经许可 请勿转载[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: