序文
この記事は C# の入門書です。C 言語または C++ の一定の知識に基づいてまとめたものです。そのため、C 言語の基礎的な知識の多くは省略されます。ただし、C# 特有の知識や、C 言語の中で比較的まれまたは重要な知識についても一部説明します。についてもブログ記事にまとめます。
目次
b.Parse メソッドは文字列型を対応する型に強制的に変換します。
1. 入力と出力
- Console.WriteLine() は情報行を出力し、その行を自動的に折り返します。
- Console.Write() は、情報を出力した後に行を自動的に折り返しません。
- Console.ReadLine() ユーザー入力。Enter をクリックして終了します。
- Console.ReadKey() は、ユーザーがキーボードを押すと終了します。
2. 変数
1. コードを折ります
機能: 乱雑なコード編集を避けるために、真ん中でラップされたコードを折ります。
#region MyRegion
...
#endregion
2. 変数を宣言する
計算式: 変数の型 変数名 = 初期値;
変数には 14 種類があります。
a.符号付き整数変数
正負の数値と0を格納できます。おおよその範囲は以下の通りです(代入時に範囲を超える値を指定した場合はエラーとなります)
- sbyte -128~-127
- int -21億~21億
- ショート -32768~32767
- ロング -9兆~9兆
サンプルコード
sbyte a = 1;
Console.WriteLine("存储的数:"+a); //输出之间的连接用+
b. 符号なし整変数
特定の範囲の 0 と正の数値を保存できます
- バイト0~255
- 単位 0 ~ 42 億
- ushort 0~65535
- ulong 0~18兆
c.浮動小数点数
- float は、コンパイラによる左から右へのゼロ以外の数字から始まる丸めに応じて、7 または 8 の有効数字を格納します。
- Double は 15 ~ 17 の有効数字を格納します。C# で小数を宣言するためのデフォルトの double 型は次のとおりです。
- 10 進数は 27 ~ 28 ビットを格納します
float f = 0.1234f; //后面要加f 大小写均可
double d = 0.12456434;
decimal de = 0.124543534234t254m; //后面要加m 大小写均可
d.特殊タイプ
- bool 変数の値は true または false で、データ型が true または false であることを示します。
- char は 1 つの文字を格納し、割り当てられる値を一重引用符で囲みます。
- string は、割り当てられる値を囲むために文字列を二重引用符で囲みます。
string s1="hello", s2="world", s3="good"; //多个变量同时声明
3. 定数
定数の宣言 (特性: 初期化する必要があり、変更できません)
const 変数型 変数名 = 初期値;
const int i = 10;
4. エスケープ文字
数式: \文字
一般的に使用されるエスケープ文字は次のとおりです。
アポストロフィ |
\' |
二重引用符 |
「 |
改行 |
\n |
スラッシュ |
\\ |
タブ集計 | \t |
バックスペース | \b |
5. 型変換
1. 暗黙的な変換
ルール:(異なる型間の自動変換)広い範囲から狭い範囲へ
a. 同じ型間の変換
long a = 1;
int b = 2;
a = b;//int隐式转换为long
b = a;//这句是不对的!小范围不能转大范围
浮動小数点数の場合、10 進数型では暗黙の変換を使用して double と float を格納できませんが、float は double に変換できることに注意してください。特殊な型 bool、char、string の間では暗黙的な変換は行われません。
b. 異なる大きな型間の変換
!符号付き変数を符号なし変数に暗黙的に変換することはできません
エラーコードの例:
ushort us2 = 1;
sbyte sb2 = 1;
us2 = sb2;//错误代码!不能转换
!符号なし変数は符号付き変数に変換できますが、前提条件として、符号付き変数がカバーするスコープには符号なし型が含まれている必要があります。
int i2 = 1;
uint ui2 = 1;
byte b2 = 1;
i2 = ui2;// 错误!无法覆盖无符号数的全部范围
i2 = b2;// 正确代码
- 浮動小数点数は、符号なしか符号付きかに関係なく、あらゆるタイプの整数をロードできます (10 進数は暗黙的に float と double を格納できませんが、暗黙的に整数を格納できます)。
- 整数は浮動小数点数を暗黙的に格納できません
- bool 型を他の型に暗黙的に変換することはできません。
- Char は他の型の変数を暗黙的に格納することはできませんが、char 型を int 型に変換したり、int 型を他の型に暗黙的に変換したりすることはできます。
2.明示的な変換
キャストを手動で処理する必要がある
計算式: 変数の種類 変数名 = (変数の種類) 変数
a. 括弧による強制転送
(1) 同じカテゴリ (符号なし整数、符号付き整数、浮動小数点数) 間で括弧を強制的に変換すると、範囲の問題が発生し、例外が発生する可能性があります。
short s = 1;
int i = 1;
s = (short)i;
(2) 異種間
- 署名付きと署名なしの間で強制的な変換が発生することもありますが、範囲の問題が発生する可能性があります。
- 浮動小数点数を整数に変換するのは主に精度の問題です
- ブール値と文字列は強制転送をサポートしていません。
b.Parse メソッドは文字列型を対応する型に強制的に変換します。
変数 type.Parse("string") 文字列は対応する型に変換できる必要があります。変換できない場合はエラーが報告されます。
int i4 = int.Parse("123");
float f3 = float.Parse("1.232");
bool b = bool.Parse("true");
int i4 = int.Parse("123.45");//错误语句,会报错!
short s4 = short.parse("300000");//错误语句,超出范围,会报错!
c.変換メソッド
型間の変換をより正確に行う
Convert.To ターゲットの型 (変数または定数) 文字列を対応する型に変換することは、正当かつ準拠している必要があります。
int a = Convert.ToInt32("12");
int a = Convert.ToInt32(12.2f);//正确语句 且Convert精度更高,可以四舍五入
int a = Convert.ToInt32(ture);//正确语句 true转为1,false转为0
int a = Convert.ToInt32('a');//正确语句 char转为对应ASCII码
int a = Convert.ToInt32("12.2");//错误,不合法转换
- 他のメソッドを変換 ToSByte()、ToInt16()、ToInt64() //16 は short を表し、32 は int を表し、64 は long を表します
- 同様に、符号なし型の場合はToByte()、ToUInt16/32/64()
- 浮動小数点数: ToSingle()、ToDouble()、ToDecimal()
- 特殊な型: ToBoolean()、ToChar()、ToString()
d. 他の型を文字列に変換する
機能は継ぎ合わせて印刷することです
Variable.ToString(); //任意の型を使用可能
string str = 1.ToString();
Console.WriteLine("123"+1+true);//这句话是正确的,后面两个会默认调用ToString方法
6. 例外キャッチ
例外キャプチャを使用して、コードがエラーを報告したときにプログラムが停止するのを防ぎます。
基本的な構文:
try
{
//希望进行异常捕获的代码块
//如果出错执行catch中的
}
catch
{
//catch(Excepetion e) 具体报错跟踪 通过e得到具体错误信息
}
//可选部分
finally
{
//不管有没有错都会执行
}
7. 算術演算子
C言語と変わらない
8. 文字列の接続
1.文字列は+を使用して連結できます
string str = "123";
str = str + "456";//正确
str = str + 1;//正确,默认调用1.ToString();
str += "1" + 4 + true;//正确,复合运算和ToString()都起作用
2. 弦のつなぎ方2
string.Format("結合するコンテンツ", コンテンツ 1, コンテンツ 2);
結合するコンテンツは、プレースホルダー 0 ~ n を使用して {number} に置き換えられます。
string str2;
str2 = string.Format("我是{0},我今年{1}岁,我想要{2}","Daniel",18,"study");
3.コンソール印刷スプライシング
次のコンテンツがプレースホルダーより大きい場合はエラーは報告されませんが、プレースホルダーより小さい場合はエラーが報告されます。
Console.WriteLine("A{0},B{1},C{2}",1,ture,false);
9. 条件演算子
表記法はC言語と同じ
1. 異なる数値型間
ルール: 条件演算子の比較は自由に行ってください。
int i = 5;
float f = 1.2f
short s = 2;
byte by = 20;
uint ui = 222;
// 以下语句都成立 只要是数值都可以进行比较
result = i > f;
result = f < d;
result = f > by;
2. 特殊な型の文字列 bool
ルール: == と != は同じ型間でのみ比較できます。
char は特殊な整数型であるため、独自の型と比較したり、数値型と比較したり、文字型と比較したりできます。
char c = 'a';
result = c > 123;
result = c > 'B';
10. 論理演算子
論理 AND: && 論理 OR: || 論理 NOT: !
表記法やルールはC言語と同じ
1. 注意
論理演算子の中では、論理 NOT (!) が最も優先され、論理 AND (&&) は論理 OR (||) よりも優先されます。
論理演算子は、条件演算子や算術演算子よりも優先順位が低くなります。
2. 論理演算子の省略規則
論理積または論理和の左辺が条件を満たしていれば、右辺を再度実行する必要はありません。
たとえば、論理 AND が false の場合、左側の式は false となり、右側を再度実行する必要はありません。
11. ビット演算子
ルール: 2 つの値を連結してビット計算を実行し、値をバイナリに変換します
1. ビット単位の AND 演算 &
ルール: 0 があれば 0
int a = 1; // 002
int b = 5; // 101
int c = a & b;
// 001 & 101 = 001 所以c也就是1
2. ビットごとの OR 演算|
1 または 1 があります
1|0=1
3.XOR演算 ^
ルール: 0 と同じ、1 と異なる
- 1 ^ 1 = 1
- 0 ^ 0 = 1
4. ビット反転~(わかるだけ)
値をバイナリに変換するには、値の前に書き込みます
補数コードを使用して、0 が 1 に、1 が 0 に変化します。
5. 左に移動<<そして右に移動>> (理解するだけ)
数値の 2 進法を左右にシフトしてみましょう
左に数ビットシフトし、右にいくつかの 0 を追加します。
いくつかの数字を右に移動し、いくつかの数字を右側から削除します。
12. 三項演算子
原理はC言語と同等
13. if ステートメント
原理はC言語と同等
14. switch ステートメント
原理はC言語と同等
15. while ステートメント
原理はC言語と同等
16. do while文
原理はC言語と同等
17.forループ
原理はC言語と同等
次の記事は C# の基礎知識をまとめたものです。引き続きお読みください。