面试-1-C#浅解

C#浅解
众所周知c#是微软推出的一款完全没面向对象的编程语言,那么对象是什么?
在现实生活中人们一提到对象首先想到的就是“情侣”!但是在我们的程序中对象是什么? 在程序中个能够区别于其他事物的独立个体我们称它为对象他是类的一个实例。那么现在问题来了 ,你说对象是类的实例。那类又是什么?好 在程序中类是多个对象的统称他是对象的模版规定了对象所具有的行为(方法)和静态特征(字段)。这是有人可能会问“是先有类还是先有对象?”关于这个问题我们就要分情况讨论了第一种情况:在现实生活中最早的时候人类的智力还不是很发达他们不知道给一些事物分类但那些事物是真真确确存在的所以是先有对象再有类!但是,我们在变成的时候必须要先定义出一个类之后才能实例化出这个类的对象!
现在我们已经知道了C#是一门面向对象的编程语言并且知道了类和对象的关系那C#语言到底长什么样?请看图片
 
所有的逻辑代码都要写在方法内那么什么是方法?就如上图的Main方法只不过它是程序的入口方法我们也可以自己定义方法那怎么定义呢?他的语法如下:
访问修饰符(public) 返回值类型(void) 方法名(){//里面写逻辑代码}
注意:如果方法没有返回值时必须用void的修饰
那么返回值的类型有哪些呢?他可以是我们自定义的类接就是应用类型和C#的基本值类型 在C#中基本的值类型有以下几种:1.整型:  int  值:1 
        2.浮点型:  float  值:1.2f
        3.双精度:  double  值:1.234
        4.字符型:  char        值:‘我’
        5.布尔:    bool  值:真
在认识了C#中的数据类型之后我们再来想一个问提:它们都是怎麽来用的,语法如下:
数据类型 变量名 =值;
好那我怎么才能在控制台看到我倒底赋值成功了吗?我们来认识一下C#中的两个方法:
1.Console.WriteLine:();//输出并换行 
2.Console.Write();//输出不换行
我们将自己定义的变量来入到这两个方法中运行之后看控制台上显示的是不是我们想要的值就可以了 
嘿嘿 看到了吗? 什么你的控制台闪一下就没了看不清!
好吧。我们再来认识一个方法:
Console.ReadLine();//想控制台接受一个字符串
有了这个方法之后控制台就会为你停留了而且它还可以接受你从控制台输入的字符并返回给程序一个字符串!
那如果我想接收一个int类型的数据时该怎么办呢?我们再来认识一个方法
数据类型.Parse();它可以将一个字符串转换成其他类型如将从控制台接收的字符串转换成int类型:int.Parse(Console.ReadLine());
在认识了基本的数据类型和方法之后我们再来看一下C#中的选择结构和循环结构
在C#中选择结构有两种一种是If选择结构一种是switch选择结构值得注意的是在C#中switch选择结构的每个case块后只要有语句就必须加break。
在C#中我们认识了一个新的循环结构:foreach循环结构它是专门用来遍历数组的语法如下:
foreach(元素类型 元素变量 int 数组名)
{
 //代码块
}
既然说它是用来遍历数组的那数组又是什么?
数组是多个变量的统称 他可以把多个同类型的值贮存在一个数组中
前面我们已经知道了C#的一些常用的数据类型但是还有一种数据类型也经常用到他就是string 它是C#程序员自定义的类所以它是引用类型 而且他有很多强大的放法能够为我们编写代码是提供很多便利 大家可以去微软提供的MSDN上查询在这里主要所以下==号和Equals的区别:
Equals比较的是内容而==号比较的是内存地址那么什么是内存地址?
如图:当你定义一个字符串时他就会在内存中做两件事
 
第一在对内存中开辟一块空间并生成一个内存地址
第二在栈内存中开辟一块空间贮存在堆内存中生成的地址并指向对内存中的地址且给开辟的空间命名为name。

来自 <https://www.cnblogs.com/wangzheand/p/4897337.html>

分类: 面试

原文地址:https://www.cnblogs.com/cjm123/p/8671945.html

时间: 2024-10-13 21:34:30

面试-1-C#浅解的相关文章

byte和int的浅解

1.byte范围为什么是(-128~127)? --byte是8位 --这里定义2种8位展现形式:1,符号形式(第一眼看符号位,判断正负,然后计算剩下7位的数值).2,存储形式(内存中都是补码存储) --想要知道一个数在内存中如何存储?真值 >> 符号形式 >> 补码 >> 存储形式 --示例1: +8(真值) +8(符号形式):0000 1000,//真值"+8",因为是"+",所以将第一位定义为0,因为值是"8&qu

[从玩游戏来理解编程]关于面向对象编程的浅解(1)

我最近在玩星际争霸2,感觉到面向对象真是太重要了.有三个种族,每个种族有自己的兵种,一个兵种就是一个类,而且他们的父类都是一个类. 每个单位都有自己的属性和技能,之前学习的c语言是面向过程的,慢慢的也理解到了面向对象在某些地方的重要性. 之前都是在学习算法,实现上用的c语言,看不出来到底有什么区别,反而在用c来的更简洁和更快,最近慢慢的接触到小项目之类的什么的就慢慢感觉到面向对象的重要性. 最近在看一本书叫<making games with python and pygame>,这本书很好,

浅解多线程(二)之和尚们的那些事儿

浅解多线程(一)之线程入门起步 本文链接 确定多线程的结束时间,thread的IsAlive属性 线程优先级,thread的ThreadPriority属性 线程通信之Monitor类 线程排队之Join 多线程互斥锁Mutex 信号量semaphore 确定多线程的结束时间,thread的IsAlive属性 在多个线程运行的背景下,了解线程什么时候结束,什么时候停止是很有必要的. 案例:老和尚念经计时,2本经书,2个和尚念,一人一本,不能撕破,最短时间念完,问老和尚们念完经书最短需要多长时间.

软考之路(1)——浅解网络基础知识

对网络这一块的基础知识理解如下,以图文并茂的形式展出,便于分析和理解.解析与图如下: 物理层: 功能: 提供为建立.维护和拆除物理链路所需的机械.电气.功能和规程的特性: 提供有关在传输介质上传输非结构的位流及物理链路故障检测指示: 为数据链路层提供一个物理连接,以及他们的机械.电气.功能和过程性.如规定使用电缆和接头的类型,传送信号的电压.在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是位. 物理链路: 这里多次出现物理链路,简单解释物理链路:一条无源的点到点的物理线路段,中

从最大似然到EM算法浅解

原文在这里 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学

JavaScript 类型浅解

对于 JavaScript 类型,可以简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言:有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内存中保存了一个指向实现位置的指针. 市面上很多书都有不小的篇幅在讲.这篇文章会讲几个方面,这些方面可能会需要你对 JavaScript 已经有了一些简单的了解,特别是 JavaScript 的类型.如果还不一解,可以随手拿起一本关于 JavaScript 的书翻翻,再来看本文. 一.基本类型与引

Java面试宝典答案详解与感悟(第一天)

一.Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致. 2.Java中有没有goto? 答案:java中的保留字,现在没有在java中使用. 解析:goto语句也称为无条件转移语句,其一般格式如下:  

es6 浅解“解构”

先上一段代码, { function move({x: t = 0, y = 0, z = 3} = '111') { return [x="x",t, y, 9, z]; } console.log(move({x: 3, y: 8, z: 5})); // ["x",3, 8, 9, 5] console.log(move({x: 3})); // ["x",3, 0, 9 ,3] console.log(move({})); // [&qu

一个两年Java的面试总结,浅谈自己的面试经验

前言16年毕业到现在也近两年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. 但是要特别感谢点我达的领导及HR,真的非常非常好,很感谢他们一直的关照和指导 面试整体事项1.简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的.2.推荐boss直聘,我觉得很好用(不是广告)