c#加什么Attribute后编译器不会对方法进行优化

问题描述

我碰到一个情况:有一个不带参数方法,此方法目的是输出一串随机数。正常情况下每次的输出不一样,但把此方法放在一个循环中奇怪出现了,它竟然输出一样的东西.所以我猜测C#可能是编译时自动优化了.我又隐隐的记得有一个Attribute放在方法上编译器就不会随便优化神们,你们还记得起不?

解决方案

解决方案二:
你还是先从你方法的逻辑入手吧,先确认你的逻辑没问题再去研究编译器优化出问题的可能性吧
解决方案三:
newRandom要放循环外面
解决方案四:
因为所谓的“随机数”是与时间有关的,循环时速度太快了,时间值一样,自然就产生一样的数了。这和编译器的优化没有关系。
解决方案五:
楼上正解~~~
解决方案六:
这和优化没有半毛钱的关系遇到问题先找自己原因
解决方案七:
newRandom()要放在循环里面也不是不可以,其实如果多次随机之间没有时间间隔的话,放在哪里都是一样,因为默认使用了时间种子,你可以每次使用一个不一样的数作为种子来初始化Random,比如每次i++,然后newRandom(i)。你了解了“随机并不是真的随机”后,这个问题就很简单了。

时间: 2024-09-09 01:45:55

c#加什么Attribute后编译器不会对方法进行优化的相关文章

JavaScript控制图片加载完成后调用回调函数的方法

 这篇文章主要介绍了JavaScript控制图片加载完成后调用回调函数的方法,实例分析了javascript回调函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JavaScript控制图片加载完成后调用回调函数的方法.分享给大家供大家参考.具体分析如下: 这段代码可以控制指定区域内的图片加载完成后执行指定的回调函数. 代码如下: function when_images_loaded($img_container, callback) { /* do callb

jQuery实现图片加载完成后改变图片大小的方法_jquery

本文实例讲述了jQuery实现图片加载完成后改变图片大小的方法.分享给大家供大家参考,具体如下: 要改变图片的大小并不难,可以用jQuery操作css改变.但是前提是要判断图片是否加载完成.主要是通过jQuery的load事件和onreadystatechange来判断其状态. 对于IE6,用onreadystatechange可以直接处理,在IE7中,则需要用定时器来判断图片的readystate状态.而对于FF和Chrome刚可以直接用load事件来判断. 以下是在实例中使用的完整代码: <

JavaScript实现当网页加载完成后执行指定函数的方法_javascript技巧

本文实例讲述了JavaScript实现当网页加载完成后执行指定函数的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码演示了如何在网页加载完成时调用指定的函数,并且可以通过第二段代码动态添加多个函数同时执行. 我们只需要给window.onload指定一个函数既可以在页面加载完成时自动执行MyCoolInitFunc函数 <script type="text/javascript" > window.onload = MyCoolInitFunc </scri

JavaScript控制图片加载完成后调用回调函数的方法_javascript技巧

本文实例讲述了JavaScript控制图片加载完成后调用回调函数的方法.分享给大家供大家参考.具体分析如下: 这段代码可以控制指定区域内的图片加载完成后执行指定的回调函数. 复制代码 代码如下: function when_images_loaded($img_container, callback) { /* do callback when images in $img_container (jQuery object) are loaded. Only works when ALL ima

android-Glide加载图片后,图片显示模糊,如何配置Glide?

问题描述 Glide加载图片后,图片显示模糊,如何配置Glide? 在项目中使用了Glide加载图片,但是有些图片显示的非常模糊,该如何处理?Glide应该也会像imageloader一样有个配置方法去控制加载图片的质量吧? 解决方案 Glide加载和显示图片 解决方案二: http://blog.csdn.net/fancylovejava/article/details/44747759 解决方案三: 确定不是图片本身很模糊?

网页代码加载完成后执行transition

文章简介:网页代码加载完毕再执行transition. 首先给body添加preload这个class,然后给所有的元素执行transition为none,最后通过js判断,加载完毕把body上的preload这个class去掉 <body class="preload"> .preload * { -webkit-transition: none !important; -moz-transition: none !important; -ms-transition: n

如何让页面加载完成后执行js

javascript 当页面dom模型加载完成后才执行javascript不能使用<body onload="">加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload 更灵活 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/x

实现load加载完成后把图片一次性显示出来

 如何一个load 加载完成后把图片一次性显示出来,下面有个不错的方法,希望对大家有所帮助 方法一:  复制代码 代码如下: <script type="text/javascript">  var obj = new Image();  obj.src = "yourpicurl.jpg";  obj.onload = function() { //这个地方可以重复写入,如果错误的话,换到外面即可  document.getElementById(&q

页面加载完毕后滚动条自动滚动一定位置

 希望页面加载完毕后向左自动滚动一定位置,下面有个不错的方法可以轻松帮大家实现下 昨天有一需求,是希望页面加载完毕后向左自动滚动一定位置.    一直以为只要给页面的 document.documentElement.scrollLeft 设置一个数值就生效,结果失望了~  今天抽空一查,才发现:  使用document.documentElement.scrollLeft 设置值,必须在人为事件触发下才生效:  想要页面加载完毕时自动滚动一定距离,则使用jquery的animate,如下面例子