C的基础上学习C# (第五章--变量的更多内容) .
2014-05-24 15:11
204 查看
变量类型的转换:
隐式转换:编译器自动完成,可将变量容量小的转化为容量大的类型
ushort destinationVar ;
char sourceVar = 'a';
destinationVar = sourceVar;
显示转换:强制转化 或 使用Convert命令
(type)variable; Convert.ToDouble(val); 使用Convert命令进行类型转换始终要进行溢出检查,check 和 unchecked关键字以及项目属性设置不起作用。
枚举:
基本形式:
enum <typeName> :<underlyingType>
{
valuel1 = 1;
valuel2 = 2;
...
}
枚举类型传值给其他类型时 需要类型转换,
<underlyingType>是设定枚举的容量的大小
namespace Ch05Ex02
{
enum orientation : byte
{
north = 1,
south = 2,
east = 3,
west = 4
}
class Program
{
static void Main(string[] args)
{
orientation myDirection = orientation.north;
Console.WriteLine("myDirection = {0}", myDirection);
Console.ReadKey();
}
}
}
输出的是 my Driection = north
想输出其他类型 需要做如下转换:
byte directionByte;
string directionString;
direcyionByte = (byte)myDirection;
directionString = Convert.ToString(myDirection); //还可以使用变量本身的ToString命令 directionString = myDirection.ToString();
结构体:
机构体的数据成员需要注明访问类型。如:
public struct cx
{
public char n;
public int m;
}
C#结构体居然还能这么用!!!
结构体的对象使用new运算符创建(obj)也可以直接创建单个元素赋值(obj2)这是与类不同的因为类只能使用new创建对象
C#结构体定义程序:
在使用类对象和函数使用时,使用的是引用传递,所以字段改变
在使用结构对象和函数使用时,是用的是值传递,所以字段没有改变
C#的数组定义:
int[ ] myIntArray = {1, 2, 3, 4, 5};
或 int[ ] myIntArray = new int[5];
或两者结合 int myIntArray = new int[arraySize] = {1, 2, 3, 4, 5};
arraySize 必须是常量 如const int arrayIntSize = 5;
但当不设定初始值的的时候可以用变脸如:
int arraySize = 5;
int myIntArray = new int[arraySize];
居然可以用这种方式计算元素的个数
C#太没节操了 有没有...
foreach是个好东西 可以通过循环的方式 可以遍历数组中的所以元素 用法:
foreach(<baseType> <name> in <array>)
{
//可以用name一次表示数组中的每一个元素;
}
上一段代码 可以改成
多维数组
定义方式 和 一维数组一样 : dobule[,] value = new double[4,5];
foreach 照样适用
数组的数组的定义:
doouble[][] value = new double[3][];
value[0] = new double[4];
value[1] = new double[6];
或
double[][] value = {new double[] = {1, 2, 3}, new double[] = {3, 4, 1}};
适用foreach时应注意:
foreach(double[] valueinvalue in value)
{
foreach(double values in valueinvalue)
{
;
}
}
字符串 处理
字符串 被视为常量,不允许被修改
可以使用一些命令对其修改, 其本质是另外拷贝了一份再进行修改。
如: 该为数组
string myString = "fsdffefewf";
char[] myChar = myString.ToCharAray ;
其他命令还有:
<stringName>.ToLower();
<stringName>.ToUpper();
<stringName>.Trim(); //删掉首位空格
还可以指定要删的首位的内容,先得定义char数组如:
char[] trimChars = {' ', 'e', 's'};
string CX = Console.ReadLine();
CX = CX.ToLower();
CX = CX.Trim(trimChars);
<stringName>.PadX(<desiredLength>); //PadX 为PadLeft或PadRight 在首或尾添加空格
可以设置要添加的内容,但不需新建数组 如: CX = CX.PadRight(10, '-');
<stringName>.Split(' '); 将字符串按空格分割开来 村到字符串数组中 如:
namespace CH05Ex04
{
class Program
{
static void Main(string[] args)
{
string myString = "This is a test.";
char[] separator = { ' ' };
string[] myWords;
myWords = myString.Split(separator);
foreach (string word in myWords)
{
Console.WriteLine("{0}", word);
}
Console.ReadLine();
}
}
}
隐式转换:编译器自动完成,可将变量容量小的转化为容量大的类型
ushort destinationVar ;
char sourceVar = 'a';
destinationVar = sourceVar;
显示转换:强制转化 或 使用Convert命令
(type)variable; Convert.ToDouble(val); 使用Convert命令进行类型转换始终要进行溢出检查,check 和 unchecked关键字以及项目属性设置不起作用。
枚举:
基本形式:
enum <typeName> :<underlyingType>
{
valuel1 = 1;
valuel2 = 2;
...
}
枚举类型传值给其他类型时 需要类型转换,
<underlyingType>是设定枚举的容量的大小
namespace Ch05Ex02
{
enum orientation : byte
{
north = 1,
south = 2,
east = 3,
west = 4
}
class Program
{
static void Main(string[] args)
{
orientation myDirection = orientation.north;
Console.WriteLine("myDirection = {0}", myDirection);
Console.ReadKey();
}
}
}
输出的是 my Driection = north
想输出其他类型 需要做如下转换:
byte directionByte;
string directionString;
direcyionByte = (byte)myDirection;
directionString = Convert.ToString(myDirection); //还可以使用变量本身的ToString命令 directionString = myDirection.ToString();
结构体:
机构体的数据成员需要注明访问类型。如:
public struct cx
{
public char n;
public int m;
}
C#结构体居然还能这么用!!!
结构体的对象使用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#的数组定义:
int[ ] myIntArray = {1, 2, 3, 4, 5};
或 int[ ] myIntArray = new int[5];
或两者结合 int myIntArray = new int[arraySize] = {1, 2, 3, 4, 5};
arraySize 必须是常量 如const int arrayIntSize = 5;
但当不设定初始值的的时候可以用变脸如:
int arraySize = 5;
int myIntArray = new int[arraySize];
namespace Ch05Ex03 { class Program { static void Main(string[] args) { string[] friendNames = { "Robert Barwell", "Mike", "jay", "Green", "cx" }; int i; Console.WriteLine("Here are {0} of my friends:", friendNames.Length); for (i = 0; i < friendNames.Length; i++) { Console.WriteLine(friendNames[i]); } Console.ReadKey(); } } }
居然可以用这种方式计算元素的个数
Console.WriteLine("Here are {0} of my friends:", friendNames.Length);
C#太没节操了 有没有...
foreach是个好东西 可以通过循环的方式 可以遍历数组中的所以元素 用法:
foreach(<baseType> <name> in <array>)
{
//可以用name一次表示数组中的每一个元素;
}
上一段代码 可以改成
namespace Ch05Ex03 { class Program { static void Main(string[] args) { string[] friendNames = { "Robert Barwell", "Mike", "jay", "Green", "cx" }; int i; Console.WriteLine("Here are {0} of my friends:", friendNames.Length); foreach (string friendName in friendNames) { Console.WriteLine(friendName); } Console.ReadKey(); } } }注: foreach 对数组里面的内容是只读的 , 即不可这样操作: friendName = "cxxcxcxc";
多维数组
定义方式 和 一维数组一样 : dobule[,] value = new double[4,5];
foreach 照样适用
数组的数组的定义:
doouble[][] value = new double[3][];
value[0] = new double[4];
value[1] = new double[6];
或
double[][] value = {new double[] = {1, 2, 3}, new double[] = {3, 4, 1}};
适用foreach时应注意:
foreach(double[] valueinvalue in value)
{
foreach(double values in valueinvalue)
{
;
}
}
字符串 处理
字符串 被视为常量,不允许被修改
可以使用一些命令对其修改, 其本质是另外拷贝了一份再进行修改。
如: 该为数组
string myString = "fsdffefewf";
char[] myChar = myString.ToCharAray ;
其他命令还有:
<stringName>.ToLower();
<stringName>.ToUpper();
<stringName>.Trim(); //删掉首位空格
还可以指定要删的首位的内容,先得定义char数组如:
char[] trimChars = {' ', 'e', 's'};
string CX = Console.ReadLine();
CX = CX.ToLower();
CX = CX.Trim(trimChars);
<stringName>.PadX(<desiredLength>); //PadX 为PadLeft或PadRight 在首或尾添加空格
可以设置要添加的内容,但不需新建数组 如: CX = CX.PadRight(10, '-');
<stringName>.Split(' '); 将字符串按空格分割开来 村到字符串数组中 如:
namespace CH05Ex04
{
class Program
{
static void Main(string[] args)
{
string myString = "This is a test.";
char[] separator = { ' ' };
string[] myWords;
myWords = myString.Split(separator);
foreach (string word in myWords)
{
Console.WriteLine("{0}", word);
}
Console.ReadLine();
}
}
}
相关文章推荐
- (原创)c#学习笔记05--变量的更多内容03--字符串的处理
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量03--数组
- C#学习速记_变量的更多内容
- (原创)c#学习笔记05--变量的更多内容01--类型转换02--显示转换
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量02--结构
- (原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换
- (原创)c#学习笔记05--变量的更多内容02--复杂的类型变量01--枚举
- (原创)c#学习笔记05--变量的更多内容01--类型转换03--使用Convert命令进行显式转焕
- 黑马程序员之C#编程基础学习笔记:交换两个变量的值。
- .net学习之C#基础提高 07变量交换__输入
- 读书笔记_C#入门经典(第5版)第五章_变量的更多内容
- C#变量的更多内容
- C#学习笔记整理_变量等基础语法(必看篇)
- 黑马程序员-C#编程基础之变量-学习笔记
- C#学习之路—基础中的核心:变量
- .net学习之C#基础提高 4.变量
- 黑马程序员_C#基础知识学习笔记:变量的使用和命名规则
- 第五章变量的更多内容
- c#第5章 变量的更多内容 隐式和显式转换、枚举、结构、数组、
- 第五章变量的更多内容