请问在C#语言中,System名称空间除了包含Console类之外还包含哪些类?

作者&投稿:薛金 (若有异议请与网页底部的电邮联系)
为什么在C#引入了System包却不能调用Console类~

自定义类:Console1.Console类与System.Console同名,当前类自动屏蔽System.Console,必须使用完全限定名。using System;
using System.Collections.Generic;
using System.Text;namespace Console1
{
class Console
{
static void Main(string[] args)
{ //Console.WriteLine(temp);
// Console.ReadLine();
System.Console.WriteLine();

}
}
}

C#比其它语言的优势
C#(读做 "C sharp")是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.

在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现.然后我将介绍C#和它与Java,c,c++的相似之处.其次我将讨论一些存在于Java和C#之间的高层次的,和基础的差别.我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.NET和C#的一个主要战略.目前,C#和.NET还只能以C#语言规则,以及Windows 2000的一个"d预览版本",还有MSDN上迅速增多的文档集子的形式获得(还没有最终定型).

微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."

C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.

Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S. Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."

C#从Java继承而来的特点

类:在C#中类的申明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态方法Main().下面的Hello World程序展示了基本的形式:
using System;
class Hello {
static void Main() {
Console.WriteLine("Hello, world");
}
}
在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串.类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类.C#关键字lock就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类.界面:就象在Java中一样,一个界面是一组方法集合的抽象定义.当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法.一个单一的类可以实现几个界面.也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化.布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量true和false是C#中的关键字.错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程.内存管理:由底层.NET框架进行自动内存垃圾回收.


C#从C和C++继承的特点

编译:程序直接编译成标准的二进制可执行形式.如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序.
结构体:一个C#的结构体与C++的结构体是相似的,因为它能够包含数据申明和方法.但是,不象C++,C#结构体与类是不同的而且不支持继承.但是,与Java相同的是,一个结构体可以实现界面.
预编译:C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制.可用的预编译指令有:

#define
#undef
#if
#elif
#else
#endif
#warning
#error
#line []

没有了#include 伪指令.你无法再用#define 语句对符号赋值,所以就不存在源代码替换的概念--这些符号只能用在#if和#elif伪指令里.在#line伪指令里的数字(和可选的名字)能够修改行号还有#warning和#error输出结果的文件名.
操作符重载:一些操作符能够被重载,而另一些则不能.特别的是,没有一个赋值运算符能够被重载.能够被被重载的单目操作符是:
+ - ! ~ ++ -- true false
能够被重载的二元运算符是:
+ - * / % & | ^ > == != > = <=


C#独有的特点

C#最引人入胜的地方是它和Java的不同,而不是相似的地方.这一节(和这个系列第二部分的大部分地方)讲述了C#实现的和Java不同的地方或者Java根本没有的特点.

中间代码:微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地.微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码.它也明白许多--如果不是大多数的话--程序员认为Java程序要不可避免的比C编写的任何东西都要慢.而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,"Managed C++"--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过"解释性的"Java代码.当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布.但是Java JIT编译器的普遍存在使得Java和C#在性能上相对相同.象"C#是编译语言而Java是解释性的,"之类的声明只是商业技巧.Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码.

命名空间中的申明:当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体.必须使用using关键字来引用其他命名空间的内容.

基本的数据类型:C#拥有比C,C++或者Java更广泛的数据类型.这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一样,所有这些类型都有一个固定的大小.又象C和C++一样,每个数据类型都有有符号和无符号两种类型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字.

两个基本类:一个名叫object的类是所有其他类的基类.而一个名叫string的类也象object一样是这个语言的一部分.作为语言的一部分存在意味着编译器有可能使用它--无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它.

参数传递:方法可以被声明接受可变数目的参数.缺省的参数传递方法是对基本数据类型进行值传递.ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值.out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值.

与COM的集成:C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端.C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件.这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用用任何.NET语言子类化.

索引下标:一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的.

public class ListBox: Control {
private string[] items;
public string this[int index] {
get {
return items[index];
}
set {
items[index] = value;
Repaint();
}
}
}

可以用一个循环器来匿名引用字符串内部数组成员,就象下面这样:
ListBox listBox = ...;
listBox[0] = "hello";
Console.WriteLine(listBox[0]);

代理和反馈:一个代理对象包括了访问一个特定对象的特定方法所需的信息.只要把它当成一个聪明的方法指针就行了.代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用.一个反馈方法是代理的特例.event关键字用在将在事件发生的时候被当成代理调用的方法声明中.

在C#语言中,System名称空间是所有类的顶级命名空间。。在.net中所有类都是从system中派生的。。包括VB。。
上楼所列的也只是一部分.net Framework类。并不完整。。你可以去查看源文件。。
Console是System下I/O子类的一个类。。

AccessViolationException

ActivationContext

Activator

AppDomain

AppDomainManager

AppDomainSetup

AppDomainUnloadedException

ApplicationException

ApplicationId

ApplicationIdentity

ArgumentException

ArgumentNullException

ArgumentOutOfRangeException

ArithmeticException

Array

ArrayTypeMismatchException

AssemblyLoadEventArgs

Attribute

AttributeUsageAttribute

BadImageFormatException

BitConverter

Buffer

CannotUnloadAppDomainException

CharEnumerator

CLSCompliantAttribute

Console

ConsoleCancelEventArgs

ContextBoundObject

ContextMarshalException

ContextStaticAttribute

Convert

DataMisalignedException

DBNull

Delegate

DivideByZeroException

DllNotFoundException

DuplicateWaitObjectException

EntryPointNotFoundException

Environment

EventArgs

Exception

ExecutionEngineException

FieldAccessException

FileStyleUriParser

FlagsAttribute

FormatException

FtpStyleUriParser

GC

GenericUriParser

GopherStyleUriParser

HttpStyleUriParser

IndexOutOfRangeException

InsufficientMemoryException

InvalidCastException

InvalidOperationException

InvalidProgramException

LdapStyleUriParser

LoaderOptimizationAttribute

LocalDataStoreSlot

MarshalByRefObject

Math

MemberAccessException

MethodAccessException

MissingFieldException

MissingMemberException

MissingMethodException

MTAThreadAttribute

MulticastDelegate

MulticastNotSupportedException

NetPipeStyleUriParser

NetTcpStyleUriParser

NewsStyleUriParser

NonSerializedAttribute

NotFiniteNumberException

NotImplementedException

NotSupportedException

Nullable

NullReferenceException

Object

ObjectDisposedException

ObsoleteAttribute

OperatingSystem

OperationCanceledException

OutOfMemoryException

OverflowException

ParamArrayAttribute

PlatformNotSupportedException

Random

RankException

ResolveEventArgs

SerializableAttribute

StackOverflowException

STAThreadAttribute

String

StringComparer

SystemException

ThreadStaticAttribute

TimeoutException

TimeZone

Type

TypeInitializationException

TypeLoadException

TypeUnloadedException

UnauthorizedAccessException

UnhandledExceptionEventArgs

Uri

UriBuilder

UriFormatException

UriParser

UriTypeConverter

ValueType

Version

WeakReference

如果你想把System下的每个类都搞清楚,要好长时间的.
因为里面的类太多太多了..
我们所用的类,全都在System名称空间里.这个名称空间是最大的.


C语言中,问号表示什么意思?
如(a<b)?a:b"是一个"条件表达式",如果a

问一下我在c盘没有安装多少软件就满了是什么原因?
C:\\Documents and Settings\\用户名\\[开始]菜单\\程序\\附件 这个目录是一些程序的快捷图标。在附件中真正用到的功能很少,常用的只有“记事本”、“Windows资源管理器”。把需要的程序快捷图标复制到“C:\\Documents and Settings\\All Users\\[开始]菜单\\程序\\附件”中,然后再删除此目录。 C:\\Documents and Settings\\...

我想问一下C在物理中表示什么
物理中符号C代表比热容。比热容又称比热容量,简称比热,是单位质量的某种物质,在温度升高时吸收的热量与它的质量和升高的温度乘积之比。比热容是表示物质热性质的物理量。物质的比热容与所进行的过程有关。在工程应用上常用的有定压比热容Cp、定容比热容Cv和饱和状态比热容三种。定压比热容Cp:是单位...

问下为何在C语言中,设a=5,则++a*--a=25?
这个语句运算有自加和自减,自加和自减都在a的前面,所以是先执行自加和自减运算确定a的值后再算这个运算式,自加和自减后a的值还是5,所以是25。

麻烦问一下,在C语言中 '*='是什么意思?
这个是复合赋值运算符 比如 c*=5;就相当于 c=c*5;其它相似的还有 -=,+=,\/=等等 都是一样的操作方法 就是把等号后面的值当成一个整体,与左右的变量运算后,再赋值给左边的变量 a*=a+b ;相当于 a=a*(a+b);

问一下哪位知道在C语言中++a*a--的值是多少?a=5.具体计算哦,答案是25哦...
自右向左运算,A--为5,A变成4,然后前面的++A的值就是4+1=5,两者相乘,即5*5=25,要分清运算顺序和++A。A++的区别,而且单目运算++,——的运算优先级高于双目运算的*,\/,

...一个球从100米的高处自由落下,触地后反弹到原高度的一半,问在...
C语言代码如下:include<stdio.h> int main() { double d = 100; \/\/ 皮球在空中经过的距离,第一次落地时为100m double h = 50; \/\/ 皮球反弹的高度,第一次反弹后为50m int i, n;scanf("%d", &n);for (i = 2; i <= n; i++) { \/\/ 从第二次落地开始 d += h * 2; ...

在C语言编程中,如何处理超大型的数值问题,比如说:999999999999如何定义...
1.可以用字符串进行处理。如果需要四则运算,可以通过模拟笔算的方法实现.2.字符串用来输入输出,用内存保存数(连续内存,可以是数组)这个就是大数计算的内容,网络上应该很多。

我想问字母c在英语中怎么区别发什么音,比如face 时发\/s\/而come时就发...
niece,face,pace等等,。这是发s的音,我们可以看到,c前边是一个元音字母。再看发k的,come,Corporate,conduct,incomplete,当c位于首字母是发k,然后c前边是一个辅音字母是,也发k,当然这只是少数的例子。一个音节一般是,辅音加原音,或者直接辅音。个人建议,不用管这些,遇到了查词典看音标就...

我想问一下钢琴c调在哪个位置
在钢琴上,中央C位于键盘的中央位置,这个位置的音高被定义为C调的音高。在简谱音乐中,我们经常会看到“1=C”这样的标记,它表示音阶的第一个音符,也就是中央C音。中央C调是建立在钢琴上的一个音阶,它以中央C键为基准,向上和向下扩展8度。在钢琴键盘上,中央C键是一个白键,位于两个黑键的...

湾里区18392564903: 请问在C#语言中,System名称空间除了包含Console类之外还包含哪些类? -
吕黎云迪: 在C#语言中,System名称空间是所有类的顶级命名空间..在.net中所有类都是从system中派生的..包括VB.. 上楼所列的也只是一部分.net Framework类.并不完整..你可以去查看源文件.. Console是System下I/O子类的一个类..

湾里区18392564903: 在C#中,引用命名空间system 的正确语句是 -
吕黎云迪: using System;

湾里区18392564903: 在C#程序中,using System是必须的吗 ?
吕黎云迪: using System; 不是必须的,是引入命名空间.例如在System里的Console下有函数WriteLine: 在不加 using System时候必须输入:System.Console.WriteLine("Please enter your name:"); 但是在开头加了的话 就直接 Console.WriteLine("Please enter your name:"); 就可以了.注意省略了 System. 所以它不是必须的,但是如果许多地方都要用System空间里的东西,最好加上.但是如果只有1个函数用到了,那加不加无所谓,直接写全也可以.

湾里区18392564903: .net中System.Int32? 是什么意思? -
吕黎云迪: System.Int32是.Net Framework对32位整数的标识,MSDN对这种类型标示的称呼是User Type.而int则是c#语言里面的特有称呼(这里它对应的.Net Framework里的System.Int32),MSDN对c#的int的称呼是Keyword.int就是System.Int32的别名而已!System.Int32属于FrameWork的基元类型.

湾里区18392564903: 在c#中,using System是必须得吗?! -
吕黎云迪: 不是说这是必需的. 一般都会using name 这样你写代码时,调用类或方法时,就不需要全名称的引用了. 使用比较方便

湾里区18392564903: global::在c#中的作用是什么??具体的用法 -
吕黎云迪: global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它.假设你现在写了一个类,名字叫 System.那么当你再在代码里写 System 的时候,编译器就不知道你是要指你写的 System 类还是系统的 System 命名空间,而 System 命名空间已经是根命名空间了,无法再通过完全限名来指定.在以前的 C# 版本中,这就是一个无法解决的问题.现在,可以通过 global::System 来表示 System 根命名空间,而用你自己的 MyNamespace.System 来表示自己的类.当然,这种情况不应该出现,你不应该写一个名为 System 的类.

湾里区18392564903: C#里的system是C#自带的还是属于.NET的 VB.NET和C++可以调用吗?
吕黎云迪: 你所看到的system是.net framework框架内置的基类一部分,所有的类都是从这个基类派生下来的. 可以跨语言调用,无论是C#,VB.NET,还是C++.NET都是可以调用的.

湾里区18392564903: 关于C#中的命名空间 -
吕黎云迪: 这肯定是一个winform程序.命名空间 using System; using System.Data; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; 这些应该够你用了~~~~ 给分........... :)

湾里区18392564903: C#是什么? -
吕黎云迪: 引用:: C#(读做 "C sharp",中文译音“夏普”)是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员...

湾里区18392564903: 请问C#中的Environment.Newline是什么意思?? -
吕黎云迪: 将转义字符(\)当作普通字符对待,比如:string str = @"C:\Windows"; 如果我们去掉 @ 的话,应该是:string str = "C:\\Windows"; @ 字符串中,我们用两个连续英文双引号表示一个英文双引号,如下字符串的实际内容为:="=,字符...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网