当前位置:  开发笔记 > 编程语言 > 正文

如果方法对引用类型执行操作,是否需要返回它?

如何解决《如果方法对引用类型执行操作,是否需要返回它?》经验,为你挑选了2个好方法。

如果我有一个专门在引用类型变量(例如数据表)上操作并修改它的方法,是否需要从方法中返回该变量?

例如,以下方法遍历数据表并修剪其中的所有值,然后将数据表返回给调用者:

        private DataTable TrimAllDataInDataTable(DataTable dt)
        {
            foreach (DataRow row in dt.Rows)
            {
                foreach (DataColumn dc in dt.Columns)
                {
                    row[dc] = row[dc].ToString().Trim();
                }
            }

            return dt;
        }

如果此方法返回void会更好吗?返回它(?)似乎没有意义,但你认为如果它在操作之后返回对象(就像现在那样)会更好吗?



1> Steef..:

对我来说,当一个方法返回一个引用类型时,我希望它是一个新对象.我会选择让它返回无效.

一个问题:这种方法有没有理由不成为DataTable班级成员?我认为这DataTable.TrimAllData()会更好


+1表示建议将其作为DataTable类的扩展方法

2> Mark..:

就个人而言,我会回归无效.方法名称允许开发人员知道您将修改DataTable中的值,并且返回DataTable不会带来任何好处,同时它可能会引入您在处理表之前克隆表的歧义.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有