我记得c++ 中是
class base{}
base mybase;
在c# 中是
base mybase=new base();
加了 new 关键字 加了构造函数
c# 中不能用c++的方法吗
c# 中类的实例化
答案:3 悬赏:10
解决时间 2021-03-13 19:16
- 提问者网友:敏感魔鬼
- 2021-03-13 12:52
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-13 14:17
在C#中
如果是这样
Class base
{
base mybase--在这里只定义了base的一个对象mybase,但是并没实例化,也就是说在内存中mybase没有赋给它地址
}
但是当base mybase=new base(); new之后,它在内存中就存在了~~
如果是这样
Class base
{
base mybase--在这里只定义了base的一个对象mybase,但是并没实例化,也就是说在内存中mybase没有赋给它地址
}
但是当base mybase=new base(); new之后,它在内存中就存在了~~
全部回答
- 1楼网友:糜废丧逼
- 2021-03-13 15:44
看出来了,跟你这里的代码没关系, 是你其他地方的生成随机数的代码错了,应该把随机数变量拿到外面而不是每次new一个新的,因为每次new新的话默认以系统时间为种子, 因为代码执行很快的时候, 两次得到相同种子,next以后就得到相同的值了, 因为c#第一次执行要il编译花时间,比较慢所以第一条不一样.
你把radom对象拿到外面用同一个而不是每次new个新的就好了, 和实例化,循环什么的都没有关系
- 2楼网友:晚安听书人
- 2021-03-13 14:45
c#中类的实例化要调用其构造函数,但不一定要使用NEW,如 string s="";但STRING内内部做了处理,当你声明时就NEW了
这不是C#的问题,是面向对象的问题.
另外,不要把C++语法和C#做比较,如果你学C++呢,就忘了C#,如果你学C#呢就忘了C++。2者是完全不同的语言,进行类比基本上都会陷入误导
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯