C#本質論學習 ☞二
品味經典和自己的學習之路
一、C#基本運算子
1、C#中的運算子
與C++的類似,==、!=、<、>、<=、>=、binary +、binary -、^、&|、~、++、-- 和 sizeof(),通常在列舉時允許這些運算。此外,很多運算子可被使用者過載,由此在應用到使用者定義的型別時更改這些運算子的含義.
2、優先順序
與C++差異也不大,請關注網站http://msdn.microsoft.com/library/6a71f45d.aspx講的比較清楚。本處不再贅述。
二、說說C#的控制流語句
1、while和do/ while
while(條件)與do/while(條件)的區別僅僅是先判斷條件是否滿足還是先執行的問題,簡單的程式如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WhileDo
{
class Program
{
static void Main()
{
//計算1到100的和。
int i=1,m = 0;
while /*不會執行*/(i!=1)
{
m += i;
i++;
}
Console.WriteLine("i={0}\t,m={1}",i,m);
i=1;
m = 0;
do/*至少執行一次,這時i已經增加,再加入條件時要注意*/
{
m += i;
i++;
} while (i != 2);
Console.WriteLine("i={0}\t,m={1}", i, m);
//正常情況下執行程式
//在i=100時也執行了程式i,的至最後為101
while (i <= 100)
{
m += i;
i++;
}
Console.WriteLine("i={0}\t,m={1}", i, m);
i = 1;
m = 0;
do
{
m += i;
i++;
} while (i <= 100);
Console.WriteLine("i={0}\t,m={1}", i, m);
Console.ReadKey();
}
}
}
輸出:
2、for和foreach
for迴圈語句可以轉化為while語句,for迴圈的次數應該是已知的,有限的。但是while語句還可以適用於迴圈次數不定的迴圈。不再過多的舉例論證了,還拿1到100內的加法:
for(i=1;i<=100;i++)
{
m=m+i;
}
foreach 用來遍歷陣列或者其他的資料項的所有元素,不能對元素進行賦值,而for語句可以。
3、switch ...case語句
下面用一段小程式說明foreach和switch....case和跳轉語句的簡單用法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ValidateAndMove
{
class Program
{
static void Main( )
{
string win;
int n=0;
string[] player=new string[3]{"a","b","c"};
Console.Write("請輸入一個字母(a,b,c中的一個):");
win=Console.ReadLine();
switch (win)
{
case "a": Console.Write("你輸入的是{0}\n", win); n = 1; break;
//如果符合條件就跳出switch語句。不再執行其中其他的語句
case "b": Console.Write("你輸入的是{0}\n", win); n = 1; break;
case "c": Console.Write("你輸入的是{0}\n", win); n = 1; goto default;
/*goto語句可以將語句轉接到想要它執行的地方,也是switch語句中最後case貫穿default
的唯一可用的東西。*/
default :
Console.Write("暫時沒人勝利!\n");
Console.Write("請輸入一個字母(a,b,c中的一個):");
win=Console.ReadLine();
//foreach遍歷player中的所有元素
foreach (string letter in player)
{
if (win == letter)
{
n = 1;
Console.Write("勝利的是{0}\n", win);
}
}
break;
}
if (n!=0)
Console.Write("幸運的告訴你{0}勝利",win);
else
Console.Write("平局!!");
Console.ReadKey();
}
}
}
輸出:
相關文章
- C#本質論學習 ☞三C#
- C#本質論學習 ☞ 四C#
- 學習的本質
- Block學習①--block的本質BloC
- ASP.NET本質論ASP.NET
- ASP.NET Core 框架本質學習ASP.NET框架
- 《C#本質論》讀書筆記<四>值型別再解析C#筆記型別
- 數論學習筆記 (2):質數筆記
- c# 程式設計學習(二)C#程式設計
- 【C#學習筆記】獲得本機IPC#筆記
- Category的本質<二>load,initialize方法Go
- Asp.net本質論之應用程式物件ASP.NET物件
- 《軟體開發本質論》讀書筆記筆記
- 圖論與圖學習(二):圖演算法圖論演算法
- 學習進度條__軟體工程概論第二週學習計劃軟體工程
- 演算法導論學習之二:插入排序演算法排序
- 論文學習
- 蛋白質深度學習深度學習
- 動作遊戲的本質及相關設計方法論遊戲
- c# button學習C#
- C#學習4C#
- c#影片學習C#
- 嘗試討論線性方程組相關數學原理、機器學習模型引數求解的數學本質機器學習模型
- [gRPC via C#] gRPC本質的探究與實踐RPCC#
- 學習筆記----圖論學習中筆記圖論
- 學習分享:對極幾何、基本矩陣、本質矩陣(持續更新)矩陣
- ETL學習心得:探求資料倉儲關鍵環節ETL的本質
- iOS底層原理總結--OC物件的本質(二)iOS物件
- ZGC論文學習GC
- 重學c#系列——c#執行原理(二)C#
- 遊戲設計的本質(一):數值的本質遊戲設計
- C#泛型學習C#泛型
- c#學習網站C#學習網站
- c# 陣列學習C#陣列
- c# 學習要點C#
- C#學習筆記C#筆記
- IT安全的本質
- Lisp 的本質Lisp