开始学习C#的一些小知识点

输出:

Console.WirteLine("hello world");

string a="hello world";

Console.WirteLine(a);

string a="world";

Console.WirteLine("hello"+a);

string a="hello world";

Console.WirteLine(a);

可以在 { } 字符之间放置一个变量,以告诉 C# 将该文本替换为此变量的值。如果在字符串的左引号前添加 $,则可以在大括号之间的字符串内包括变量

a="world";

Console.WriteLine($"Hello {a}");

以上得到的答案均为hello world

trim的用法:用于删去字符串开头或结尾的多余空格

string greeting = " Hello World! ";

Console.WriteLine($"[{greeting}]");

string trimmedGreeting = greeting.TrimStart();

Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.TrimEnd();

Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.Trim();

Console.WriteLine($"[{trimmedGreeting}]");

输出:

[      Hello World!       ]
[Hello World!       ]
[      Hello World!]
[Hello World!]

注意:1、这里所加的[]是为了辨别字符串空格删除的情况,并非输入必要。      2、控制字符串的方法返回的是新字符串对象,而不是就地进行修改。 可以看到,对任何 Trim 方法的所有调用都是返回新字符串,而不是更改原始消息。

ToUpper,ToLower的用法:改为大写、小写

string sayHello="greetings World";

Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());

输出:

GREETINGS WROLD

greetings wrold

ToUpper保留大写,并改字符串里的小写为大写。ToLower相反。

查找:Contains(" "),有为True,没有为Flase.; StartsWiths(" ")和EndsWith(" ")查找字符串开头和尾端,是为true,否为false;Replase

string songLyrics = "You say goodbye, and I say hello";

Console.WriteLine(songLyrics.Contains("goodbye"));

Console.WriteLine(songLyrics.Contains("greetings"));//在字符串里找括号里寻的字符串//

string songLrics = "You say goodbye, and I say hello";

Console.WriteLine(songLyrics.StartsWith("You"));//在字符串前端寻找//

Console.WriteLine(songLyrics.EndsWith("goodbye"));

输出:

True

False

True

False

Replace的用法:查询,替换,

string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");// 第一个字符串是要搜索的文本。 第二个字符串是替换后的文本。//
Console.WriteLine(sayHello);

输出:

hello wrold

greetings wrold

整数运算精度和限值

C# 整数类型不同于数学上的整数的另一点是,int 类型有最小限值和最大限值

int max = int.MaxValue;
int min = int.MinValue;
Console.WriteLine($"The range of integers is {min} to {max}")

int 类型有最小限值和最大限值,如果运算生成的值超过这些限值,则会出现下溢或溢出的情况。 答案似乎是从一个限值覆盖到另一个限值的范围。出现溢出的情况可以尝试换数字类型。

输出:

The range of integers is -2147483648 to 2147483647

双精度数字运算

double:

double third = 1.0 / 3.0;
Console.WriteLine(third);

输出:

0.3333333333333

与数学上的十进制数字一样,C# 中的双精度值可能会有四舍五入误差。

decimal: decimal 类型的范围较小,但精度高于 double

double a = 1.0;
double b = 3.0;
Console.WriteLine(a / b);

decimal c = 1.0M;//数字中的 M 后缀指明了常数应如何使用 decimal 类型。//
decimal d = 3.0M;
Console.WriteLine(c / d);

输出:

0.333333333333333

0.3333333333333333333333333333

使用pi计算半径为2.5的圆的面积

double radius = 2.50;
double area = Math.PI * radius * radius;
Console.WriteLine(area);

分支和循环语句

if and else:

int a = 5;

int b = 3;

int c = 4;

if ((a + b + c > 10) && (a == b))

{

Console.WriteLine("The answer is greater than 10");

Console.WriteLine("And the first number is equal to the second");

}

else

{

Console.WriteLine("The answer is not greater than 10");

Console.WriteLine("Or the first number is not equal to the second");

}

输出:

The answer is not greater than 10

Or the first number is not equal to the second

使用循环重复执行

int counter = 0;
while (counter < 10)//满足便继续执行//
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
}

int counter = 0;

do
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
} while (counter < 10);//先执行了一次再判断//

for(定值;限值条件;迭代器;)三个可不填

泛型列表管理数据集合

创建列表

var names = new List<string> { "<name>", "Ana", "Felipe" };//创建的集合使用 List<T> 类型。 此类型存储一系列元素。 元素类型是在尖括号内指定。//
foreach (var name in names)//list是一个泛型集合,foreach是循环遍历list集合里面的元素直到遍历完list中的所有元素,遍历list时,每次遍历都将list集合中的元素作为var类型赋给item//

{
Console.WriteLine($"Hello {name.ToUpper()}!");
}

Console.WriteLine();
names.Add("Maria");//从现有的list后加入//
names.Add("Bill");
names.Remove("Ana");//直接从现有的list中找寻Ana并删去//
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}

Console.WriteLine($"My name is {names[0]}.");
Console.WriteLine($"I‘ve added {names[2]} and {names[3]} to the list.");

Console.WriteLine($"The list has {names.Count} people in it");//列表里数值的个数用 .count来得到总和//

输出:

Hello <NAME>!

Hello ANA!

Hello FELIPE!

Hello <NAME>!

Hello FELIPE!

Hello MARIA!

Hello BILL!

My name is <name>.

I‘ve added Maria and Bill to the list.

The list has 4 people in it

搜索并排序

IndexOf 方法可搜索项,并返回此项的索引。

var index = names.IndexOf("Felipe");//得到在列表name里Felipe的位置数值//
if (index != -1)
Console.WriteLine($"The name {names[index]} is at index {index}");

var notFound = names.IndexOf("Not Found");
Console.WriteLine($"When an item is not found, IndexOf returns {notFound}");

names.Sort();//sort根据names列表里的开头大小写字母排序//
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");

}

其他类型的列表

var fibonacciNumbers = new List<int> {1, 1};//斐波那契数列是每个数值是前两个数值之和//

var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];

fibonacciNumbers.Add(previous + previous2);

foreach(var item in fibonacciNumbers)
Console.WriteLine(item+",");

输出:

1,1,2,

使用斐波那契数列,扩展当前生成的程序。 试着编写代码,生成此序列中的前 20 个数字。 (作为提示,第 20 个斐波纳契数是 6765。)

var fibonaccinumber =new List<int>{1,1};

while(fibonaccinumber.Count<20){

var previous=fibonaccinumber[fibonaccinumber.Count-1];

var previous2=fibonaccinumber[fibonaccinumber.Count-2];

fibonaccinumber.Add(previous+previous2);

}

foreach(var item in fibonaccinumber){

Console.WriteLine(item);

}





原文地址:https://www.cnblogs.com/lilijang/p/12287499.html

时间: 2024-11-10 14:30:08

开始学习C#的一些小知识点的相关文章

laravel学习前期遇到的小知识点(1)

1. 目前我用的laravel 5.2.36版本web中间件成为全局中间件(不知道从5.2.26以上就改变了还是怎样,没有深究),也就是之前的版本路由里默认会有一个Route::group的web中间件组,然后看上面有段注释大致意思就是加入web中间价组受到csrf保护?那目前我用的5.2.36这个版本取消了下面的默认的web中间件组,即便把整个项目都添加到web中间件里.看起来还是挺方便,所以添加中间件组的时候不用在次定义一便web中间件组.例子: 1 Route::group(['middl

ios基础-小知识点收集(1)

不积跬步,无以至千里;不积小流,无以成江海.----荀子 收集学习ios中的小知识点,每天进步一点点. (一)@class和 #import class:只声明类,不会引入类文件,加快编译速度,防止类相互import出错:在m中仍然需要import整个类文件. import导入整个类文件,在需要使用类中的变量.函数和协议的时候需要使用. (二)静态变量static.全局变量extern.局部变量.实例变量 static:为整类而非单个对象使用,隐藏封装在类中,对外不可见. 静态变量的优点: 1.

记录神经网络中一些小知识点

记录神经网络中一些小知识点 1 Caffe中的blob维度 Caffe中的blob具有4个维度,分别是num,channel,width和height: 其中我们在定义各个网络层时,常用到的一个参数numout,就是指定的channel: 比如说,维度为1*3*5*5的数据输入网络(即每次输入一张5*5大小的3通道图),经过一个stride为2,pad为1,kernel为2,numout为2的卷积层后,维度就变成了1*2*3*3: 假如输入有n个通道,计算时,caffe就会对应产生n个filte

初学MySQL中的一些小知识点

写在前面,小弟初用博客记录学习路上的一点点小知识点,其中可能有个人理解方面的误差,或不明白的地方.希望各位大牛纠正指导,小弟感激不尽!这并不是什么帮助别人解决问题的文章,只是小弟将学习到的内容一一写在博客上,这样方便以后复习,还恳请大家勿喷.. 一.进入MySQL客户端 1.客户端可以通过.../MySQL/bin目录下的sql.exe运行客户端. 1.1:访问方式一: -u root -p /*可以直接在这段代码的后面添加密码,也可以按回车后再输入密码*/ 1.1:访问方式二: --host

js中关于value的一个小知识点(value既是属性也是变量)

今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况,是常见的情况,会弹出“测试内容” <input type="button" value="测试内容" onclick = "alert(value)"> [2]心想,这种情况下value找不到,作用域链应该到document了,应该弹出“123",但情况是弹出空 <script> var value=123; &l

一些零碎小知识点积累随笔

工作学习期间的一些零碎小知识点积累 1.蜂鸣器 1)有源蜂鸣器,这里的有源不是指电源的"源",而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声: 2)无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动,才能发声. 2.Altium Designer Winter 9 1)加载库 a.加载库,在Libraries面板上点击Libraries按钮或者选择菜单Design-->Add/Remove Library,这样可使用的库就显示在对话框中.

对日编程的一些小知识点

在GitHub上有个项目,本来是作为自己研究学习.net core的Demo,没想到很多同学在看,还给了很多星,所以觉得应该升成3.0,整理一下,写成博分享给学习.net core的同学们. 项目名称:Asp.NetCoreExperiment 项目地址:https://github.com/axzxs2001/Asp.NetCoreExperiment 今天先分享几个对日编程的小知识点 1.关于BOM(Byte Order Mark)知识点( https://baike.baidu.com/i

C++ 小知识点 WINAPI

int WINAPI WINMain 中,WINAPI含义 网友给出回答:在windef.h头文件中有如下定义#define WINAPI      __stdcall#define APIENTRY    WINAPIVC有两种函数调用方式 一种是__stdcall,另一种是__cdecl函数的调用方式有两种一种是PASCAL调用方式,另一种是C调用方式使用PASCAL调用方式,函数在返回到调用者之前将参数从栈中删除使用C调用方式,参数的删除是调用者完成的WinMain函数是由系统调用的,Wi

0607am抽象类&amp;接口&amp;析构方法&amp;tostring&amp;小知识点

/*class ren{ public static $color;//静态 static function () { ren::$color; self::$color;//self只能写在类里面,代表这分类 }} */ //不能实例化的类:抽象类abstract class Animal //关键字abstract{ public $dong; public $jiao; function chi() { } function shui() { }}class Ren extends Ani