蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁 >學(xué)習(xí)資源 > Unity游戲/VR/AR入門教材 > VR開發(fā)入門教程39:控制臺編程--字符串03

VR開發(fā)入門教程39:控制臺編程--字符串03

來源:奇酷教育 發(fā)表于:

  字符串和ASCII碼的轉(zhuǎn)換  字符串是字符組成的一個序列,而字符底層是一個ASCII碼,所以字符串可以轉(zhuǎn)換成ASCII碼組成的一個序列。用Sys

  字符串和ASCII碼的轉(zhuǎn)換

  字符串是字符組成的一個序列,而字符底層是一個ASCII碼,所以字符串可以轉(zhuǎn)換成ASCII碼組成的一個序列。用System.Text.ASCIIEncoding.ASCII.GetBytes(字符串)的方式將字符串轉(zhuǎn)為字節(jié)數(shù)組。

  要求:求得0-9 a-z A-Z ASCII碼

  示例:

  public static void ParseStringToAscII()

  {

  String s = "09123123asjdhgahsjdgJGJGFJaksjdakshdhkgjgjh";

  // 轉(zhuǎn)出成字節(jié)數(shù)組

  byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(s);

  for (int i = 0; i < bytes.Length; i++)

  {

  Console.WriteLine(bytes[i]);

  }

  // 已知一個字節(jié)數(shù)組 如何轉(zhuǎn)回字符串

  String reverse = System.Text.Encoding.UTF8.GetString(bytes);

  Console.WriteLine(reverse);

  }

  字符串的格式化

  Format 方法

  標準的數(shù)學(xué)格式字符串用于返回通常使用的字符串。它們通常象X0這樣的格式。X是格式化標識符,0是精度標識符。格式標識符號共有9種,它們代表了大多數(shù)常用的數(shù)字格式。就像下表所示:

  String.Format("{0}{1}{2}{0}{1}{2}","a","b","c");

  int i = 123456;

  Console.WriteLine("{0:C}", i); // ¥123,456.00

  Console.WriteLine("{0:D}", i); // 123456

  Console.WriteLine("{0:E}", i); // 1.234560E+005

  Console.WriteLine("{0:F}", i); // 123456.00

  Console.WriteLine("{0:G}", i); // 123456

  Console.WriteLine("{0:N}", i); // 123,456.00

  Console.WriteLine("{0:P}", i); // 12,345,600.00 %

  Console.WriteLine("{0:X}", i); // 1E240

  Console.WriteLine("{0:C5}", i); // ¥123,456.00

  Console.WriteLine("{0:D5}", i); // 123456

  Console.WriteLine("{0:E5}", i); // 1.23456E+005

  Console.WriteLine("{0:F5}", i); // 123456.00000

  Console.WriteLine("{0:G5}", i); // 1.23456E5

  Console.WriteLine("{0:N5}", i); // 123,456.00000

  Console.WriteLine("{0:P5}", i); // 12,345,600.00000 %

  Console.WriteLine("{0:X5}", i); // 1E240

  綜合示例:

  如何將一個復(fù)雜的數(shù)學(xué)表達式解析成 運算符和運算數(shù)

  public static int SplitExpression(String expression)

  {

  // 拆出數(shù)字

  String[] nums = expression.Split("+-*/".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

  // 拆出運算符

  String[] ops = expression.Split("0123456789".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

  // 如何計算

  // 先乘除

  ComputeByOp(nums,ops,"*/");

  // 后加減

  for (int i = 0; i < ops.Length; i++)

  {

  // 當(dāng)運算符不為null的時候 運算

  if (ops[i] != null)

  {

  // 判斷是否為加或減

  if (ops[i] == "+" || ops[i] == "-")

  {

  // 找出兩個運算數(shù)

  int num1 = int.Parse(nums[i]);

  int num2 = int.Parse(nums[i + 1]);

  // 計算結(jié)果

  int result = Compute(ops[i],num1,num2);

  // 結(jié)果放入

  nums[i] = result.ToString();

  // 移動運算符和運算數(shù)數(shù)組

  MoveArrByIndex(ops,i);

  MoveArrByIndex(nums, i+1);

  // 當(dāng)前位置重新判斷

  i--;

  }

  }

  else

  {

  break;

  }

  }

  return int.Parse(nums[0]);

  }

  public static void ComputeByOp(String[] nums,String[] ops,String op)

  {

  for (int i = 0; i < ops.Length; i++)

  {

  // 當(dāng)運算符不為null的時候 運算

  if (ops[i] != null)

  {

  // 判斷是否為乘或除

  if (op.Contains(ops[i]))

  {

  // 找出兩個運算數(shù)

  int num1 = int.Parse(nums[i]);

  int num2 = int.Parse(nums[i + 1]);

  // 計算結(jié)果

  int result = Compute(ops[i], num1, num2);

  // 結(jié)果放入

  nums[i] = result.ToString();

  // 移動運算符和運算數(shù)數(shù)組

  MoveArrByIndex(ops, i);

  MoveArrByIndex(nums, i + 1);

  // 當(dāng)前位置重新判斷

  i--;

  }

  }

  else

  {

  break;

  }

  }

  }

  public static void MoveArrByIndex(String[] arr,int startIndex)

  {

  // 將移動的位置置為null

  arr[startIndex] = null;

  for (int i = startIndex; i < arr.Length-1; i++)

  {

  if (arr[i+1] != null)

  {

  // 交換

  String temp = arr[i];

  arr[i] = arr[i + 1];

  arr[i + 1] = temp;

  }

  }

  }

  public static int Compute(String op,int num1,int num2)

  {

  switch (op)

  {

  case "+": return num1 + num2;

  case "-": return num1 - num2;

  case "*": return num1 * num2;

  case "/": return num1 / num2;

  default: return 0;

  }

  }

>>>更多Python入門教程:Python入門

侯马市| 台北市| 中超| 七台河市| 彩票| 太仆寺旗| 安远县| 建瓯市| 泸溪县| 七台河市| 沐川县| 铁岭市| 灵石县| 合江县| 和政县| 合川市| 宁都县| 江川县| 清水河县| 九江市| 东兴市| 古丈县| 盐城市| 前郭尔| 清丰县| 讷河市| 柘城县| 监利县| 石渠县| 兴安县| 西华县| 桦川县| 雷州市| 理塘县| 台山市| 分宜县| 东丰县| 阳谷县| 鹤山市| 桦川县| 汉寿县|