1.在控制台接受数据时可以这样输入:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 基础知识2
{
class Program
{
static void Main(string[] args)
{
double a, b, c;
Console.WriteLine("计算两数之和——");
Console.Write("请输入a:");//不用WriteLine,输入后以Enter键结束
a = double.Parse(Console.ReadLine());
Console.Write("请输入b:");
b = double.Parse(Console.ReadLine());
c = a + b;
//{N[,M][:格式化字符串]},M表示输出到变量所占的字符个数
//M为负时按左对齐,为正时按右对齐。
//格式化字符串以Xn的形式指定格式,X指定数字格式,D整形,E科学计数法,F浮点型
//n表示数字精度
Console.WriteLine("a+b={0,5:E4}",c);
}
}
}

2.if-else可以用条件运算符代替

3.结构体变量存储在不同位置

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 结构体变量
{
class Program
{
struct Student //声明一个结构体变量,放在Main函数外面
{
public int xh; //学号;这些成员被称为字段,字段与变量不同,字段可以同时存储很多类型相同的数据
public string xm; //姓名
public string xb; //性别
public int nl; //年龄
public string bh; //班号
}
static void Main(string[] args)
{
Student s1, s2;//结构体变量s1和s2存储在不同位置
s1.xh = ; s1.xm = "李明"; s1.xb = "男";
s1.nl = ; s1.bh = "BY161311";
Console.WriteLine("学号:{0},姓名:{1},性别:{2},年龄:{3},班号:{4}",
s1.xh, s1.xm, s1.xb, s1.nl, s1.bh);
s2 = s1;
s2.xh = ; s2.xm = "王华";
Console.WriteLine("学号:{0},姓名:{1},性别:{2},年龄:{3},班号:{4}",
s2.xh, s2.xm, s2.xb, s2.nl, s2.bh);
Console.WriteLine("学号:{0},姓名:{1},性别:{2},年龄:{3},班号:{4}",
s1.xh, s1.xm, s1.xb, s1.nl, s1.bh);//发现没有改变s2的值
}
}
}

4.checked可以检查数据有无溢出

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 检查溢出
{
class Program
{
static void Main(string[] args)
{
////表达式仅仅包含常数值,且产生的值在目标值之外则会溢出并编译错误
//int j = int.MaxValue + 10;
//Console.WriteLine(j);
//如果表达式包括一个或多个非常数值,则编译器不检查溢出
int N = ;
int I = int.MaxValue + N;
Console.WriteLine(I);
checked//这样就可以检查下面代码块是否溢出了
{
int n = ;
int i = int.MaxValue + n;
Console.WriteLine(i);
}//unchecked取消溢出检查
}
}
}

5.Convert静态方法将数据类型转换

其中比较容易忽略的是To.Number

6.用out关键字 来 返回值

 // TryParse returns true if the conversion succeeded
// and stores the result in j.
int j;
if (Int32.TryParse("-105", out j))
Console.WriteLine(j);
else
Console.WriteLine("String could not be parsed.");
// Output: -105

7.检验代码并抛异常 https://msdn.microsoft.com/en-us/library/bb397679.aspx

 try
{
int m = Int32.Parse("abc");
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.

8.if-else语句,单独的if-else语句可以用 “条件表达式?满足则执行此句:不满足则执行此句”条件运算符。

嵌套的if-else中的else总是和最后一个出现的还没有else与之配对的if匹配。

if……else if……else if……else语句适合于区间判断,比如根据分数判断等级。

9.switch语句也成为开关语句,适合于判断定值多重选择情况。

             switch (表达式)
{
case 常量表达式1:语句1;
case 常量表达式1:语句1;
……
default:
}
             string ch = Console.ReadLine();
switch (ch)
{
case 'm':case 'M':case 'w': case 'W'://每个case块和default块后都需有break,除非case块后没有语句。
Console.WriteLine("8学分");
break;
case 'p':case 'P':case 'c': case 'C'://当满足四个条件中的一个时就会执行输出6学分的语句。
Console.WriteLine("6学分");
break;
default :
Console.WriteLine("输入的代号不正确");
break;
}

10.数组的定义

在某些情况下我们为了将文本文档中规则数列的数字放入数组中,那么我们就需要事先定义出数组,这个数组长度为多少呢,我们可以通过读取文档的行数n,然后根据n来定义数组:

             int n = ;//定义变量n,比如可以为文档当行数
int[] myarr = new int[n];//指定数组myarr的长度为n

数组的动态初始化就是有new关键字,new构建的时候可以先调用构造函数。没有new的定义为静态定义,静态定义时,定义和初始化要放一块。

             //定义一维数组并静态初始化
int[] c = {,, };//正确
////下面将定义和静态初始化分开是错误的。
//int[] c;
//c={1,2,3}; //写了数组长度,给初值时要给出全部元素初值,多给少给都不行
int[] b = new int[] { ,,,,,,,,,}; int n = ;//定义变量n,比如可以为文档当行数
//int[] myarr = new int[n];//指定数组myarr的长度为n,正确
int[] myarr = new int[n] {,,,, };//错误,静态初始时前面长度要给常量而非变量

二维数组:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 二维数组
{
class Program
{
static void Main(string[] args)
{
int[,] myArr1=new int[,]{{,,},
{,,}};
//也可以省略数组长度
int[,] myArr2 = new int[,]{{,,},
{,,}};
//foreach访问myArr1元素
foreach (var item in myArr1 )
{
Console.WriteLine(item );
}
//for访问myArr2
Console.WriteLine("myArr2:");
for (int i = ; i < myArr2 .GetLength (); i++)
{
for (int j = ; j < myArr2.GetLength (); j++)
{
Console.Write("myArr2[{0},{1}]={2}\t",i,j,myArr2 [i,j]);
}
Console.WriteLine();
}
//二维数组的静态初始化
int[,] b = { { , , }, { , , } };
}
}
}

11.交错数组:交错数组的每一个子组都是独立的多维数组,每个子组可以有不同的长度,为数组的每一维使用一对中括号。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 交错数组
{
class Program
{
static void Main(string[] args)
{
int[][] a = new int[][];//定义了一个包含三个独立子数组的交错数组
//下面初始化该元素,必须初始化a的元素后才能使用
a[] = new int[];//交错数组a的每个元素都是一个一维整数数组
a[] = new int[];//第2个元素是有4个整数 组成的数组
a[] = new int[];//在内存中,a变量名存放在栈中,堆中又有空间存放a[0],a[1],a[2]变量名,a[0]等分别指向对应的一维数组
//也可以如下初始化
a[] = new int[] { , , , , };
a[] = new int[] { , , , };
a[] = new int[] { , };
//还有速记格式
int[][] b1 = new int[][] { new int[] { , , , }, new int[] { , , , }, new int[] { , } };
////注意 不能在交错数组的初始化中指定除顶层数组之外的数组大小
//int [][] b2=new int[3][4];//错误
//应该为
int[][] b3 = new int[][]; //访问交错数组中的元素
Console.WriteLine(a[][]);//输出3
for (int i = ; i < b1.Length; i++)
{
Console.Write("d({0}):", i);
for (int j = ; j < b1[i].Length; j++)
{
Console.Write("{0}\t", b1[i][j]); }
Console.WriteLine();
}
}
}
}

c#基础知识-2的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  10. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

随机推荐

  1. ADO.NET 新特性之SqlBulkCopy

    在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便.而 在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们 ...

  2. 一个用php写的人民币数字转人民币大写的函数

      function num2rmb ($num) {     $c1 = "零壹贰叁肆伍陆柒捌玖";     $c2 = "分角元拾佰仟万拾佰仟亿";     ...

  3. 精彩的javascript对象和数组混合相加

    最近遇到一个让人困解的一个问题:一个简单的js加法运算表达式: +[]; //这里加上一个空数组得到什么???答案:'1'; 为什么答案是1,一开始我也很困惑:后来我读了一篇文章才知道:在javasc ...

  4. PHP计算时间差,并返回什么时间之前发表的内容

    <?php header("Content-type: text/html; charset=utf-8"); function time2Units ($time){ $y ...

  5. POJ3420Quad Tiling(矩阵快速幂)

    Quad Tiling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3740 Accepted: 1684 Descripti ...

  6. jenkins插件开发-此路是我开

    一:前置环境 1. JDK1.6+ 2. maven已安装 3. jenkins已搭建 4. eclipse已安装(并安装了maven插件) 以上环境可以百度搜索并安装 我的环境是WIN7 64位系统 ...

  7. Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持

    [本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: ...

  8. python(七)字符串格式化、生成器与迭代器

    字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) ...

  9. elasticsearch安装与基础用法

    来自官网,版本为2.3 注意elasticsearch依赖jdk,2.3依赖jdk7 下载rpm包并安装 wget -c https://download.elastic.co/elasticsear ...

  10. ArcGIS10.2中文版破解教程

    ArcGIS10.2中文版前些时间早就出炉了,下载了但是一直没有安装,听说了ArcGIS10.2云处理能力和影像处理能力都增强了!网上经常遇到一些朋友安装失败的问题,现在特此做一个教程!分享一下安装成 ...