以前学过一点C++,这几天看C#的书,看到char这里开始晕了。
请问这个char在C#中的本质是个什么东东?
类型?类?结构?
如果char是一个类型 那么下列代码
char a='a';
Console.WriteLine(char.IsLetter(a));
中的IsLetter是什么意思?类型也可以方法吗?
请问这个char在C#中的本质是个什么东东?
类型?类?结构?
如果char是一个类型 那么下列代码
char a='a';
Console.WriteLine(char.IsLetter(a));
中的IsLetter是什么意思?类型也可以方法吗?
解决方案 »
- c#窗口最大化时控件也变大
- 求救!!!别人编的一个软件,我在上面做了些许修改后,为什么调试后很多控件都不能用了!!!
- c#中,double类型数字转换为string类型如何转换呢?
- TextBox如何格式化IP?
- 和表绑定的项怎么表示?在线等!!!
- WIN FORM 水晶报表问题,急!!!!!在线等
- 如何实现远程连接服务器
- 跪求 C#重写控件 方面的书
- 怎样将文本框与数据库双向绑定(送分)开帖送分
- 请问:datagridview的数据如何过滤
- Private KeyPressSender As Object = Me 转成C# 提示有错误 请高手指点
- c#怎么样让窗口没有标题栏,但是有周围边框
谢谢!
不过我还是有点糊涂,既然char是一个结构体,那么下列代码为什么是错的?
char a='a';
Console.WriteLine(a.IsLetter(a));
既然a是结构体char定义的变量,为什么不可以使用它的方法?另外,我自己定义了一个结构体,用该结构体定义了一个变量,里面有个output方法,为什么这个变量又可以使用结构体的output方法呢?代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace chartest
{
public struct test
{
int a;
public void output()
{
Console.WriteLine(this.a);
}
public test(int a)
{
this.a = a;
}
}
class Program
{
static void Main(string[] args)
{
test a1 = new test(10);
a1.output();
Console.ReadLine();
}
}
}
2、结构体的实例当然能这样调用了。如果是静态的方法,还可以test.output();这样调用。
无论是当作结构体还是一个字节或两个字节,char作为值类型,经过装箱,都可以像一个对象一样拥有自己的方法。总之,C#是一种面向对象的语言,char可以视作一个对象,int也可以。只是这些类型为本地运算做了优化,它们可以像C/C++一样直接视作一个简单数据类型进行操作。这种优化有一个名词,叫装箱/拆箱。
string s = i.ToString(); // 在C#中,一个整数(在语法上)都可以视作一个对象。