C#上机笔记(第五次上机)

这篇博客探讨了C#中数组的反转实现,展示了如何通过引用传递改变数组内容。示例代码包括数组反转函数,以及展示了按值和按引用传递数组时的不同效果,解释了在FirstDouble和SecondDouble方法中如何修改数组元素和引用。此外,还涉及了多维数组和 Jagged Array 的初始化和遍历。
摘要由CSDN通过智能技术生成
各位同学:
    大家好!
    这次上机的主要任务是继续研究方法(Methods)的相关内容,同时掌握数组的使用。
1. 研究scoping,了解以下事实:
    a.C#中的变量有两种生命期:自动(Automatic)生命期和静态(Static)生命期。局部变量有自动生命期,而静态变量有静态生命期。
    b.要改变一个局部变量的值,只能通过两种途径:显式为局部变量赋值,或者将局部变量的引用传递给函数参数。
    c.静态变量本质上类似于C++中的全局变量,特别是公有静态变量更是如此。
    d.静态变量的初始化工作是在类的静态构造函数中完成的。关于静态构造函数的概念和例子在下一次课中给出。
     在类中声明的变量是实例变量.

2. 研究cs092,这是一个在C#程序中使用指针的例子。请完成以下工作。
    a.了解事实:在C#中可以使用指针,但不提倡使用指针,指针只可以在非安全代码块中使用。
    b.可以对类的对象使用指针吗?将项目pointer中的整型变量改成某个类的对象,看看程序是否能通过编译?
不可以
Error 1 Cannot take the address of, get the size of, or declare a pointer to a managed type ('pointer.A') E:/Work/MS.NET/C#/第五次上机/cs092/cs092/pointer/Program.cs 14 28 pointer
但struct可以
    c.了解事实:用new操作生成一个数据实体时,其返回结果可能是一个引用,也可能是一个值,这取决于new后面跟的数据类型。
class or struct
     d.只能在值类型的变量上使用指针,而不能在类对象上使用指针。这是C#对使用指针的限制。具体例子请参考项目 classPtr。
3. 编写一个递归函数,它可以将某个数组中的所有元素反转存储。从中了解递归函数设计的基本要领。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ArrayReverse
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值