C#学习笔记1
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#学习笔记1,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4218字,纯文字阅读大概需要7分钟。
内容图文
![C#学习笔记1](/upload/InfoBanner/zyjiaocheng/855/00413da143d0431c9b2a0b87f7e1bc8a.jpg)
本次课解决什么事:
基本:
(1)如何从键盘接收字符串? Console.ReadLine()
(2)如何在屏幕上输出字符串? Console.WriteLine(…)
(3)如何得到按指定格式输出的字符串? string.Format(…) 或者 $"…"
高级:
(4)如何设计主菜单?
(5)如何设置字符的前景色?
(6)如何避免代码重复(优化代码)?
/////////////////// 【ConsoleApp】Common.cs ////////////////////////////
using System;
namespace ConsoleApp
{
class Common
{
public static void ShowInfo(string info, bool isWriteLine = true)
{
Console.ForegroundColor = ConsoleColor.Yellow;
if(isWriteLine)
{
Console.WriteLine(info);
}
else
{
Console.Write(info);
}
Console.ForegroundColor = ConsoleColor.White;
}
public static void ShowWarn(string info)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(“警告:” + info);
Console.ForegroundColor = ConsoleColor.White;
}
public static void WaitKey()
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine();
Console.Write(“按任意键继续…”);
Console.ReadKey();
Console.ForegroundColor = ConsoleColor.White;
}
}
}
//////////////// 【ConsoleApp】Program.cs ///////////////////////////////
using System;
using System.Reflection;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
Ch01MenuDemo();
}
else
{
ExecDemos(args[0]);
}
}
/// 第1章的菜单例子
private static void Ch01MenuDemo()
{
string[] menu = {
“例1 Hello World!”,
“例2 求n个数的和。”,
“例3 数据的格式化输出。”
};
while (true)
{
Console.Clear(); //清屏
Console.WriteLine(“主菜单:\n”);
Common.ShowInfo(“0:退出”);
for (int i = 0; i < menu.Length; i++)
{
char menuIndex = menu[i][1];
Console.WriteLine("{0}:{1}", menuIndex, menu[i]);
}
Common.ShowInfo("\n请选择要执行的功能(键入序号并回车):", false);
string s = Console.ReadLine();
if (s == “0”)
{
return; //结束程序
}
Console.WriteLine();
if (int.TryParse(s, out int index) == false)
{
Common.ShowWarn(“请键入序号,不要键入其他符号。”);
Common.WaitKey();
continue;
}
switch (index)
{
case 1:
var e1 = new Ch01.E0101HelloWorld();
break;
case 2:
var e2 = new Ch01.E0102Sum();
break;
case 3:
var e3 = new Ch01.E0103DataOutput();
break;
case 9:
var e9 = new Ch01.E0109SumLib();
break;
default:
Common.ShowWarn(“无此例子,请检查键入的序号是否正确!”);
break;
}
Common.WaitKey();
}
}
/// 第2章例子,参数指定包含完整命名空间的类名
private static void ExecDemos(string arg)
{
string className = “ConsoleApp.” + arg;
Common.ShowInfo($"{className}\n");
var a = Type.GetType(className);
if (a == null)
{
Common.ShowWarn(“无此例子或该例子尚未实现。”);
}
else
{
//获取当前程序集
Assembly assembly = Assembly.GetExecutingAssembly();
//创建对应例子的实例
assembly.CreateInstance(className);
}
Common.WaitKey();
}
}
}
/////////////////// 【ConsoleApp】Ch01/E0101HelloWorld.cs /////////////////////
using System;
namespace ConsoleApp.Ch01
{
class E0101HelloWorld
{
public E0101HelloWorld()
{
Console.WriteLine(“Hello World!”);
}
}
}
/////////////////// 【ConsoleApp】Ch01/E0102Sum.cs ///////////////////////////
using System;
namespace ConsoleApp.Ch01
{
class E0102Sum
{
public E0102Sum()
{
Console.Write(“请输入用空格分隔的n个数(例如12 15 24):”);
string s = Console.ReadLine();
if (s.Length == 0)
{
Common.ShowWarn(“未输入数据。”);
return;
}
string[] a = s.Split(’ '); //将空格分隔的字符串转化为数组
int sum = 0;
for (int i = 0; i < a.Length; i++)
{
if (int.TryParse(a[i], out int n))
{
sum += n;
}
}
Console.WriteLine(“结果为:{0}”, sum);
}
}
}
////////////// 【ConsoleApp】Ch01/E0103DataOutput.cs ////////////////////////
using System;
namespace ConsoleApp.Ch01
{
class E0103DataOutput
{
public E0103DataOutput()
{
int a = 1, b = 2, c = 3;
Console.WriteL
c#1## 标题
ine("{0},{1},{2}", a, b, c);
Console.WriteLine("{1},{2},{0}", a, b, c);
Console.WriteLine(“a={0},b={1},c={2},a+b+c={3}”, a, b, c, a + b + c);
Console.WriteLine("b,a,c");Console.WriteLine(“a={a},b={b},c={c},a+b+c={a+b+c}”);
int a1 = 123, a2 = -123;
double d1 = 1234.56, d2 = -1234.56;
var s1 = string.Format("{0:d5},{1:d5},{2:f2},{3:f2}", a1, a2, d1, d2);
var s2 = $"{a1:d5},{a2:d5},{d1:f2},{d2:f2}";
Console.WriteLine(s1);
Console.WriteLine(s2);
}
}
}
内容总结
以上是互联网集市为您收集整理的C#学习笔记1全部内容,希望文章能够帮你解决C#学习笔记1所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。