首页 新闻 搜索 专区 学院

关于using和ref的问题

0
悬赏园豆:5 [已解决问题] 解决于 2014-05-20 16:30
 using (StreamReader fileStr = new StreamReader(path, System.Text.Encoding.GetEncoding("UTF-8")))
        {
            using (var csvr = new CSVReader(ref fileStr))
            {
}
}

上面的代码会有问题,提示说 fileStr是using变量不能通过ref传递

        StreamReader fileStr;
        using (fileStr = new StreamReader(path, System.Text.Encoding.GetEncoding("UTF-8")))
        {
            using (var csvr = new CSVReader(ref fileStr))
            {

这样在外面申明就好的

我想问在外面申明,里面初始化 那么using对StreamReader资源的释放会有影响么?

最爱吃糖了的主页 最爱吃糖了 | 初学一级 | 园豆:41
提问于:2014-05-20 14:55
< >
分享
最佳答案
0

using语句是用来处理实现了Idispose接口的类型的,编译的时候,会转换为Try Finally语句块,在Finally中调用Dispose方法.

收获园豆:2
平常心队长 | 小虾三级 |园豆:1113 | 2014-05-20 16:29
其他回答(1)
0

StreamReader fileStr;  只是一个声明,并没有实例化,using块是将实例化的fileStr给释放掉,所以对资源的释放时没有影响的

收获园豆:3
刘宏玺 | 园豆:14016 (专家六级) | 2014-05-20 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册