2023/10/24—C#—基础语法(3)while、for、continue、break、goto、switch;访问修饰符

本文详细介绍了C#中的while、for循环的使用,以及continue、break、goto语句和switch条件判断的应用。同时,讨论了访问修饰符在控制类和成员的可访问性方面的作用,包括public、private、protected、internal等关键字的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  while循环  一般做 未知次数的循环
  for 循环   一般做已知次数的循环

 //int a = 0;
 //while (a < 1)
 //{
 //    Console.WriteLine(a);
 //}

//for (定义一个初始变量;循环的条件;初始变量的自增或者自减/
//在每次循环结束的 自身变化)

//for (int i = 0; i < 10; i++)
//{
//    Console.WriteLine(i);
//}

for和while 的基础语法格式;

for (  ; ;  ) { }
while(true) { }

//for 嵌套
//原理: 先看外部条件是否成立   如果不成立  整个for结果
//如果成立  才能对内部for进行判断和执行   直到外部循环
//不成立时,结束

for (int i = 0; i < 10; i++)
{
    Console.WriteLine(1);
    for (int j = 0; j < 10; j++)
    {
        Console.WriteLine(2);
        for (int k = 0; k < 10; k++)
        {
            Console.WriteLine(3);
            for (int l = 0; l < 10; l++)
            {
                while (l < 10)
                {
                    Console.WriteLine(5);
                }
                Console.WriteLine(4);
                break;
            }
        }
    }
}

*continue  and   break;

 循环10次, 输出9个1
 for (int i = 1; i <= 10; i++)
 {
     Console.WriteLine(1);
     if (i == 10)
     {
         break;
     }
 }

 1245
 for (int i = 1; i <= 5; i++)
 {
     if (i == 3)
     {
         continue;
     }
     Console.WriteLine(i);
 }

 1 - 100 的偶数
 for (int i = 1; i <= 100; i++)
 {
     if (i % 2 != 0)
     {
         continue;
     }
     Console.WriteLine(i);
 }

do~~~while 不管条件成立与否,至少会循环一次

while    首先判断条件成立;    执行循环

int score = 50;
do
{
    Console.WriteLine("学习中。。。");
    Console.WriteLine("考试!");     // 输出5次
    score += 2;

} while (score < 60);

随机数实例:类似问题拓展延伸

//先实例一个随机数;根据 初始值判断循环次数,不固定!
Random random = new Random();
//Next    左闭 右开  区间
int score2 = random.Next(1, 101);
do
{
    Console.WriteLine("学习中。。。");
    Console.WriteLine("考试!");     // 
    Console.WriteLine(score2);
    score2 += 2;
}
while (score2 < 60);

方法延展:goto 语句  跳转语句   模拟循环逻辑   /    goto 语句跳转标签

goto 是C#中的一种跳转语句,它允许你无条件地将程序控制从一个位置转移到另一个位置。虽然 goto 可以在某些情况下有用,但它通常被认为是一种不推荐使用的编程技巧,因为它可能导致代码难以理解、维护和调试。在许多情况下,使用结构化的控制流程(如循环和条件语句)通常更容易理解和维护。

以下是 goto 语句的一般语法:

labelName:
// 一些代码
goto labelName; // 跳转到标签处

labelName: // 一些代码 goto labelName; // 跳转到标签处

以下是一个示例,演示了 goto 语句的使用:

 int money = 100;
 score_test:
 Console.WriteLine("学习中。。。");
 Console.WriteLine("考试!");     // 
 score += 2;
 goshoping:
 Console.WriteLine("我去购物!!");
 money -= 50;
 if (score < 60)
 {
     goto score_test;
 }
 if (money >= 50)
 {
     goto goshoping;
 }

tips:虽然 goto 可以在某些情况下提供一种解决问题的方法,但应该非常小心使用它,以避免代码变得难以理解和维护。在实际编程中,应该尽量使用结构化的控制流程,如循环和条件语句,来提高代码的可读性和可维护性。

switch   条件判断语句
            //每一个  case  都要对应一个 break;不然会贯穿  报错!!

---------------------------------------------------------------------------------------------------------------------------------

访问修饰符:是 C# 中常用的关键字

作用:所有类型 和  类型成员 都具有 可访问性级别

在C#中,访问修饰符(Access Modifiers)用于控制类、成员(字段、方法、属性等)以及嵌套类型的可访问性。不同的访问修饰符确定了这些成员对其他类或程序集的可见性和访问权限。以下是C#中主要的访问修饰符以及它们的详细介绍:

  1. public(公共):

    • 类内外都可以访问。
    • 其他程序集中的代码可以访问。
    • 通常用于表示公共接口或公共类成员。
  2. private(私有):

    • 只能在包含该成员的类内部访问。
    • 无法从类的外部直接访问。
    • 常用于实现封装和隐藏内部实现细节。
  3. protected(受保护):

    • 可以在包含该成员的类和派生类中访问。
    • 无法从类的外部直接访问。
    • 用于允许派生类访问基类的成员。
  4. internal(内部):

    • 可以在同一个程序集中的任何类中访问。
    • 对于其他程序集中的代码来说,该成员是不可见的。
    • 用于限制只有同一程序集内的代码可以访问。
  5. protected internal(受保护内部):

    • 可以在同一程序集中的任何类中访问。
    • 也可以在派生类中访问。
    • 对于其他程序集中的代码来说,该成员是不可见的。
    • 结合了protectedinternal的特性。
  6. private protected(私有受保护):

    • 只能在同一程序集中的派生类中访问。
    • 对于同一程序集中的其他类和其他程序集的代码来说,该成员是不可见的。

需要注意的是,访问修饰符可以应用于类、类的成员(字段、方法、属性等),以及嵌套类型(类或结构)。这些修饰符帮助你控制类和成员的封装程度,从而确保代码的安全性和可维护性。

 类、结构体的默认修饰符是internal。
 类中所有的成员默认修饰符是private。
 接口默认修饰符是internal。
 接口的成员默认修饰符是public。
 枚举类型成员默认修饰符是public。
 委托的默认修饰符是internal。

此外,还有一些特殊的访问修饰符,如internal protected,但它们的使用相对较少,通常在特定情况下才使用。

总之,访问修饰符是C#语言中非常重要的概念,用于控制代码的可见性和访问权限,以确保代码的正确性和安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值