输出:
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"));//在字符串前端寻找//
输出:
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:
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。)