惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
D
Docker
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
罗磊的独立博客
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
博客园 - 司徒正美
T
Tailwind CSS Blog
C
Check Point Blog
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
L
LangChain Blog
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
腾讯CDC
Last Week in AI
Last Week in AI
Jina AI
Jina AI
博客园 - Franky
量子位

博客园 - 天涯

Prism.Interactivity 和 Prism.Modularity 介绍 Prism BindableBase 和 Commands 的介绍 对 mvvm 架构的理解 wpf mvvm 架构 C#硬件开发业务流程调试技巧 wpf winform 截图 wpf Cannot locate resource 'app.xaml' app.config ConfigSection 保护 程序开发注意4项,你知道吗? wpf 多线程 更新UI 界面 wpf treeview 绑定不同的对象 .net 技术,你掌握了多少 aspx 中确认删除 脚本 - 天涯 .net 中对类的扩展 奇怪--ORA-12154:TNS:无法处理服务名: 建模十条原则 由软件加壳谈起 Hashtable 应注意的 2 点 vb 调用c#做的com 组件
.net 变量缓存,你知道吗
天涯 · 2011-09-26 · via 博客园 - 天涯

for (int j = 0; j < 100; j++)
            {
                Task.Factory.StartNew(() => { Console.WriteLine(j); }, TaskCreationOptions.PreferFairness);
            }
            
        以上输出的是 100 个99,因为j被缓存,所以最后一次的值被存了下来,其他值被替代

for (int j = 0; j < 100; j++)
            {
                int tmp = j;
                Task.Factory.StartNew(() => { Console.WriteLine(tmp); }, TaskCreationOptions.PreferFairness);
            }

以上输出的是1,2,3,....99 值;
    原因是:j在这里是全局变量,缓存了值。而tmp 在这里是局部变量,没有缓存值。