我正在重构一些代码,我编写了一个修改Dictionary并返回它的方法.这比使用out参数更好吗?我真的不想在这种情况下创建一个扩展方法,因为它会将方法添加到Dictionary类中,这对于它的用途来说是过度的.请不要指出我不应该使用动态sql,这是目前必须推迟的重构中的另一个阶段.
private static Dictionary<int, string>
FindMatches(Dictionary<int, string> records,
string queryFormat,
string region,
string type,
string label)
{
var query = string.Format(queryFormat, SqlSvrName, SqlDbName, SqlSchemaName,
region, type, label);
using (var dr = DataRepository.Provider.ExecuteReader(CommandType.Text, query))
{
if (dr != null && !dr.IsClosed)
{
while (dr.Read())
{
var assetID = (int)dr.GetDouble(0);
if (!records.ContainsKey(assetID))
records[assetID] = dr.GetString(1);
}
}
}
return records;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我是有点仓促与我一词的使用了上面.我试图在我的代码中明确表示该方法修改了字典.这里的out参数只有在方法创建了一个新字典并通过该参数返回时才有意义.为此更多的上下文是使用不同的查询字符串多次调用该方法,并且字典可能已经包含匹配.
编辑2:只是为了跟进我删除了记录参数,而是从FindMatches返回KeyValuePair列表.我最终通过以下方式转换为字典:List<KeyValuePair<int, string>>
records
.GroupBy(rec => …Run Code Online (Sandbox Code Playgroud) 我目前正在查看OperationContect.Current属性.是否有(嵌套)属性将始终返回客户端的机器名称?我目前正在使用net.tcp绑定,但希望将来支持其他绑定.
使用.NET 3.5 SP1
希望这是一个简单的.
在我的应用程序中,我有一个列出地址的活动页面.目前我有一个查看地图的链接,它在我的应用程序中显示一个使用地图控件的页面,并使用我传递的lat/long,显示事件的位置.
我想要做的是将lat/long发送到现有的地图应用程序,以便该应用程序可以处理任何行车路线(等).
这可能吗?
如果我有以下矩阵:
a=[10 1 0 1 1
50 1 0 0 0
60 0 0 0 1]
Run Code Online (Sandbox Code Playgroud)
我怎样才能将矩阵[10 50 60]'中的第一列乘以向量乘法到矩阵的其余部分并得到以下结果:
b=[10 10 0 10 10
50 50 0 0 0
60 0 0 0 60]
Run Code Online (Sandbox Code Playgroud) 什么是Haskell在另一个目录中导入模块的语法?
我正在开始使用Haskell,并希望练习使用HUnit编写简单的函数TDD样式.不过,我无法弄清楚如何构建我的文件.HUnit附带的示例似乎是一个平面目录结构.
我想将我的测试和HUnit代码放在与实际代码不同的文件夹中.我很欣赏一个快速的示例导入语句和一个关于如何构建我的文件的建议.
如果重要的话,我现在正在使用GHCi和NotePad ++进行编码.
我喜欢分组的默认背景UITableView.我想在标准上使用它UIView.
我无法找到任何人提出这个问题或任何参考如何实现它.
有关如何做到这一点的任何建议?它甚至可以在创建和图像之外,并将其作为背景加载吗?
我刚刚在runnable的run()方法中编写了这段代码:
try {
dbConnection = MyApp.datasource.getConnection();
} catch (SQLException e) {
logger.log(Level.SEVERE, "Could not obtain a DB connection! Re-enqueuing this task. Message: " + e.getMessage(), e);
MyApp.executor.execute(this);
return;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,如果任务无法获得数据库连接,它应该将自身重新入队,并进入运行之前的队列.
我认为这可能是安全的,但感觉很有趣,我只是想确保没有任何我缺少的东西.
谢谢!
有没有办法找出当前版本的rails 2.3是什么?现在Ruby on Rails页面上有一个关于2.3.11的博客文章的链接,但我想在经过几篇不再存在的博客文章之后.我试图用"gem"命令找到一种方法,但没有看到它.如果我运行"gem update rails"我没有任何选择 - 它只是将我更新为rails 3.0.4,我还没准备好.我可以做"gem install -v 2.3.11 rails",但这假设我知道当前的版本是什么.此外,在rails网站上,有一个指向rubyforge页面的链接,您可以在其中下载gem文件,但最新版本有2.3.4,所以没有帮助.
我想打开一个excel文件并将其另存为csv文件.谷歌搜索没有幸运.我需要C代码才能做到这一点.
谢谢你的帮助.
是否可以在lambda表达式中引用私有属性?还是只有公共财产?
例如.说我的私有财产名为InnerCollection,代码行将是:
x => x.InnerCollection
Run Code Online (Sandbox Code Playgroud)
有没有办法以某种方式实现这一点 - 不使用反射等?
使用.NET 4.0.
谢谢.
克里斯