C#程序实现循环求和

需积分: 49 12 下载量 170 浏览量 更新于2024-09-16 2 收藏 3KB TXT 举报
"C# 循环求和与数组类型匹配" 在C#编程语言中,循环求和是一种常见的计算操作,通常用于统计一系列数值的总和。本示例提供了三种不同的循环结构来实现循环求和:`for`循环、`while`循环以及`do-while`循环。此外,示例还涉及到了类型转换和数组类型匹配的问题。 1. **循环求和** - `for`循环: ```csharp for (int i = 1; i <= n; i++) { num += i; } ``` 这个`for`循环从1开始,每次迭代增加1,直到`i`不再小于或等于`n`。每次迭代时,将`i`的值累加到`num`中。 - `while`循环: ```csharp while (i <= n) { num += i; i++; } ``` 类似地,`while`循环会持续执行,只要条件`i <= n`为真。在循环体内,`i`的值被累加到`num`,然后`i`自增1。 - `do-while`循环: ```csharp do { num += i; i++; } while (i <= n); ``` `do-while`循环与`while`循环相似,区别在于`do-while`循环先执行一次循环体,然后再检查条件。即使`i > n`,循环也会至少执行一次。 2. **类型转换与数组类型匹配** 示例中的另一个部分涉及到数组类型的匹配。在C#中,不同类型之间的转换必须是安全的,否则会导致运行时错误。例如: - 尝试将字符串数组`string[] names`转换为`Object[] objs`是安全的,因为字符串是对象类型。 - 当尝试将一个整数赋值给`objs[2]`时,由于数组`objs`已被声明为`Object[]`,可以存储任何类型的对象,所以赋值`objs[2]="Mouse"`是允许的。 - 然而,尝试将整数赋值给`objs[2]`(即`objs[2] = obj;`),其中`obj`是`Object`类型的整数,会导致`ArrayTypeMismatchException`,因为数组元素的预期类型是`string`。 总结来说,这个代码片段展示了C#中处理循环求和的不同方法以及类型转换和数组类型匹配的注意事项。在实际开发中,选择合适的循环结构取决于具体需求,而类型匹配则需要确保数据类型的安全转换,以避免运行时异常。