📂C#
🔖C#
2022-10-03 20:36阅读: 39评论: 0推荐: 0

C#学习第一天

  今天进行了C#的初步学习,主要了解了C#的相关知识:


基础语法

  首先是在C#里的基础语法,大致与C++还有Java类似,可以说是二者的结合体,基本的Hello World!代码如下所示:

using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(String[] args)
{
/*我的第一个C#程序*/
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}

  多看几遍,就会发现里面的语法非常熟悉。


数据类型

  然后就是C#的数据类型,可以通过下文看出,与C++基本一致。包括指针的定义方法等等,如出一辙。

值类型

img
  如果你想快速获得一个变量类型的长度,可以用以下代码来实现:

using System;
namespace DataTypeApplication
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Size of int: {0}", sizeof(int));
Console.ReadLine();
}
}
}

引用类型

  引用类型在我看来就是可以将一个类型的值转换成其它类型的值,但是不如动态类型多样化。

object obj;
obj = 100; // 这是装箱

动态(Dynamic)类型

  动态类型就是可以用该类型的变量来代表任何值,他并不是一个固定的值,例如:dynamic d = 20;

字符串类型

  这个是我们最熟悉的类型了,用法一致,但是要注意前面可能会加上@,这个是为了让字符串里面的一些特殊字符来进行转义,就比如string str = @"C:\Windows";string str = "C:\\Windows";二者是等价的。

指针类型

  指针类型大家都应该是很熟悉了,C#中的指针的功能与C++完全一致,没有区别哦。


类型转换

  类型转换分为显式跟隐式两种,显式是强制转换,很有可能造成数据丢失,如:double d=3.14; int i=(int)d。但是隐式可能会更稳定,因为它采用的是C#默认的类型转换方法:

namespace TypeConversionApplication
{
class StringConversion
{
static void Main(string[] args)
{
int i = 75;
float f = 53.005f;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}

  上式运行结果如下:
img


变量

  C#里的变量赋值与C++一模一样,主要记一下从控制台获取数据的语法,就像在控制台输出一样,输出用的是WriteLine();,而从控制台获取数据用的是int num; num = Convert.ToInt32(Console.ReadLine());
  函数 Convert.ToInt32() 把用户输入的数据转换为 int 数据类型,因为 Console.ReadLine() 只接受字符串格式的数据。
大致用法如下:

using System;
namespace TypeConversionApplication
{
class StringConversion
{
static void Main(string[] args)
{
int a;
int b;
int c;
a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("a:{0},b:{1},c:{2}",a,b,c);
Console.ReadKey();
}
}
}

常量

  整数常量里前面如果没有前缀就代表的是十进制,如果加上了前缀,例如0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制
  字符常量,前面带个\的就是转义的:
img
  字符串常量都是放在""或者@""里面的,不要忘记二者的区别。
  定义常量的方式: public const int c1 = 5; public const int c2 = c1 + 5;


运算符

  运算符与C++一模一样,不做过多复述:
img
  运算符的优先级如下所示:
img


判断

img


循环

img


封装

  封装还是老三样:public,private,protected。不过好像还多了两种,第一种是Internal:就是该定义的变量或者函数可以被该类之中任何方法访问,派生类无法访问。第二种是Protected Internal:只允许在本类、派生类以及继承的类中访问。

本文作者:信2005-2刘海涛

本文链接:https://www.cnblogs.com/lht020321/p/16751192.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   信2005-2刘海涛  阅读(39)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑