仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 605|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之.NET中设置团结布局的办法和团结体的特...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解)</p>导读:在举行某些算法的C言语编程的时分,必要使几种分歧范例的变量寄存到统一段内存单位中。也就是利用掩盖手艺,几个变量相互掩盖。这类几个分歧的变量配合占用一段内存的布局,在C言语中,被称作“共用体”范例布局,简称共用体,也叫团结体。
在C++中有一品种型叫做团结体(也叫共用体),它的关头字为union,在利用上与布局struct十分类似,能够包括任何的布局范例数据,但它又有一个十分共同的特征,那就是一切的数据都指向一个地点。
这个意义你能够了解为:团结体中的一切数据都是援用一个内存块中不异地点的数据,当我们改动这个团结体内任何一种数据的值时,其他的数据的值城市随之改动。
这关于未知范例的数据十分无效,你可使用团结体装载一个数据,然后剖析其数据是不是无效,大概能够对某些特别的范例举行位运算,猎取其特别地位的数值。
但在VB.NET或C#中,基本没有union关头字让我们申明团结体,但该怎样做才干申明团结体呢?
这必要用到布局属性!
让我们看看怎样将上面的C++团结体代码转换为一个VB.NET的团结布局吧!


  • unionmyunion
  • {
  • charb;//单字节整数,在c言语顶用char范例来暗示单字节整数
  • shorts;//双字节整数
  • inti;//四字节整数
  • }
这个团结体巨细为4个字节,其各个数据分离暗示为单字节、双字节、四字节的整数,在运转时代其任何数据的改动城市影响其他数据。


  • ImprotsSystem.Runtime.InteropServices引进运转时非托管数据办理服务
引进布局属性,准确把持布局中元素的地位


  • <StructLayout(LayoutKind.Explicit)>_
  • StructureMyUnion
  • 设置字段的偏移值,设为0便可
  • <FieldOffset(0)>DimbAsByte单字节整数
  • <FieldOffset(0)>DimsAsShort双字节整数
  • <FieldOffset(0)>DimiAsInteger四字节整数
  • EndStructure
这就是在.NET中设置团结布局的办法,C#中于VB.NET中的设置办法相同,这里就不做赘述了。
上面来先容团结体的特征使用,就以下面我们方才申明的团结体布局为例,上面的代码将为我们演示团结体的特征:


  • DimMUAsNewMyUnion
  • MsgBox(String.Format("{0}{1}{2}",MU.b,MU.s,MU.i))000
  • MU.s=Int16.MaxValue
  • MsgBox(String.Format("{0}{1}{2}",MU.b,MU.s,MU.i))2553276732767
  • MU.b=12
  • MsgBox(String.Format("{0}{1}{2}",MU.b,MU.s,MU.i))123252432524
  • MU.i=0
  • MsgBox(String.Format("{0}{1}{2}",MU.b,MU.s,MU.i))000
下面的代码能够更直不雅地显现数据在内存中的变更,每当改动团结数据时,其他的数据也会跟着内存的变更而变更。
固然,利用团结体也无限制,那就是.NET的团结体只合用于值范例,没法使用在援用范例和指针中,你没法设置字符串(String)或是数组进进团结范例,这一点必要十分的注重!
固然,.NEt中的团结布局体其实不只要下面的用法,你能够发扬本人的设想力,好比能够:


  • <StructLayout(LayoutKind.Explicit)>_
  • StructureMyUnion2
  • <FieldOffset(0)>Dimb1AsByte
  • <FieldOffset(1)>Dimb2AsByte
  • <FieldOffset(2)>Dimb3AsByte
  • <FieldOffset(3)>Dimb4AsByte
  • <FieldOffset(0)>DimiAsInteger
  • <FieldOffset(0)>DimuiAsUInteger
  • EndStructure
这个布局能够猎取一个有或无标记的四个字节整数每个字节的数据,而不必要本人写算法来剖析了。
测试代码:
Code:


  • DimMUAsMyUnion2
  • MsgBox(MU.i&":"&MU.ui)0:0
  • MsgBox(String.Format("{0}{1}{2}{3}",Hex(MU.b1),Hex(MU.b2),Hex(MU.b3),Hex(MU.b4)))0000
  • MU.b1=255:MU.b2=255:MU.b3=255:MU.b4=255
  • MsgBox(String.Format("{0}{1}{2}{3}",Hex(MU.b1),Hex(MU.b2),Hex(MU.b3),Hex(MU.b4)))FFFFFFFF
  • MsgBox(MU.i&":"&MU.ui)-1:4294967295
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-18 17:24:35 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
简单生活 该用户已被删除
板凳
发表于 2015-1-22 17:20:39 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
若天明 该用户已被删除
地板
发表于 2015-1-31 09:03:29 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
海妖 该用户已被删除
5#
 楼主| 发表于 2015-2-6 18:58:18 | 只看该作者
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
山那边是海 该用户已被删除
6#
发表于 2015-2-18 07:57:57 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
小魔女 该用户已被删除
7#
发表于 2015-3-6 02:31:19 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
小女巫 该用户已被删除
8#
发表于 2015-3-20 01:50:58 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表