码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2020-02-09 20:36:49      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:ocs   data-   斐波那契   文本替换   out   ret   font   覆盖   集合   

输出:

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);
}





 

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

标签:ocs   data-   斐波那契   文本替换   out   ret   font   覆盖   集合   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!