小编Dan*_*ain的帖子

有没有办法在Ruby中访问方法参数?

Ruby和ROR的新手并且每天都喜欢它,所以这是我的问题,因为我不知道如何谷歌它(我已经尝试:))

我们有方法

def foo(first_name, last_name, age, sex, is_plumber)
    # some code
    # error happens here
    logger.error "Method has failed, here are all method arguments #{SOMETHING}"    
end
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找方法将所有参数传递给方法,而不列出每一个.因为这是Ruby我假设有一种方式:)如果它是java我会列出它们:)

输出将是:

Method has failed, here are all method arguments {"Mario", "Super", 40, true, true}
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

94
推荐指数
6
解决办法
5万
查看次数

处理KeyNotFoundException的最佳方法

我正在使用字典来执行我正在处理的程序的查找.我在字典中运行了一堆密钥,我希望某些密钥没有值.我抓住KeyNotFoundException它发生的右边,然后吸收它.所有其他异常将传播到顶部.这是处理这个问题的最佳方法吗?或者我应该使用不同的查找?该字典使用int作为其键,并使用自定义类作为其值.

c# exception keynotfoundexception

60
推荐指数
6
解决办法
6万
查看次数

什么是最快的:(int),Convert.ToInt32(x)或Int32.Parse(x)?

以下哪个代码是转换某些对象x的最快/最佳实践?

int myInt = (int)x;
Run Code Online (Sandbox Code Playgroud)

要么

int myInt = Convert.ToInt32(x);
Run Code Online (Sandbox Code Playgroud)

要么

int myInt = Int32.Parse(x);
Run Code Online (Sandbox Code Playgroud)

或者在字符串's'的情况下

int myInt;
Int32.TryParse(s, out myInt);
Run Code Online (Sandbox Code Playgroud)

我很好奇哪个数据类型在转换中有一个方法的速度最快,而不仅仅是整数.我只是用int作为例子.

编辑:这种情况起因于从数据表中获取信息.Will(int)仍然能以最快的速度运行吗?

从某些测试来看,当对象x = 123123123时,int执行速度最快,就像许多人所说的那样.当x是一个字符串时,Parse运行速度最快(注意:cast抛出异常).我真正好奇的是,当以下列方式检索值时,它们是如何运行的:

foreach(DataRow row in someTable.Rows)
{
    myInt = (int)row["some int value"];
    myInt2 = Int.Parse(row["some int value"]);
    myInt2 = Convert.ToInt32(row["some int value"]);
}
Run Code Online (Sandbox Code Playgroud)

c# optimization casting

44
推荐指数
6
解决办法
3万
查看次数

如果绑定为null,则隐藏工具提示

目前我有以下代码来显示工具提示.

<Border BorderBrush="Black"
        BorderThickness="{Binding Border}"
        Height="23"
        Background="{Binding Color}">
<ToolTipService.ToolTip>
    <TextBlock Text="{Binding TooltipInformation}" />
</ToolTipService.ToolTip>
Run Code Online (Sandbox Code Playgroud)

这在ItemsControl中显示,包含大约25个项目.其中只有少数的值设置为TooltipInformation

如果TooltipInforation是一个空字符串,它仍然显示包含文本块的工具提示框作为一个非常小的窗口(大约5px高和20px宽).即使我将文本块可见性设置为折叠.

如果TooltipInformation的值为null或空字符串,有没有办法完全删除工具提示?

c# silverlight xaml binding tooltip

33
推荐指数
3
解决办法
2万
查看次数

RDBMS中有哪些不同类型的密钥?

RDBMS中有哪些不同类型的密钥?请在答案中加入示例.

rdbms

29
推荐指数
4
解决办法
13万
查看次数

使用PHP创建加密的zip存档

我正在寻找一种方法将.txt文件加密成zip,但是采用安全的密码保护方式.我的目标是通过电子邮件发送此文件给我,没有人能够阅读附件的内容.

有没有人知道一个简单的,最重要的,安全的方法来实现这一目标?我可以创建zip存档,但我不知道如何加密它们,或者它是多么安全.

php encryption zip

22
推荐指数
2
解决办法
3万
查看次数

多对多关系设计 - 交叉表设计

我想知道对于多对多关系的交叉表有什么更好的设计.

我正在考虑的两种方法是:

CREATE TABLE SomeIntersection 
(
     IntersectionId UNIQUEIDENTIFIER PRIMARY KEY,
     TableAId UNIQUEIDENTIFIER REFERENCES TableA NOT NULL,
     TableBId UNIQUEIDENTIFIER REFERENCES TableB NOT NULL,
     CONSTRAINT IX_Intersection UNIQUE(TableAId, TableBId )
) 
Run Code Online (Sandbox Code Playgroud)

要么

CREATE TABLE SomeIntersection 
(
     TableAId UNIQUEIDENTIFIER REFERENCES TableA NOT NULL,
     TableBId UNIQUEIDENTIFIER REFERENCES TableB NOT NULL,
     PRIMARY KEY(TableAId, TableBId )
) 
Run Code Online (Sandbox Code Playgroud)

一个人对另一个人有好处吗?
编辑2:****请注意:我计划使用Entity Framework为数据库提供API.考虑到这一点,一个解决方案在EF中的效果是否优于另一个?

编辑:在相关的说明中,对于两列引用同一个表的交集表(下面的示例),是否有办法使两个字段在记录上不同?

CREATE TABLE SomeIntersection 
(
     ParentRecord INT REFERENCES TableA NOT NULL,
     ChildRecord INT REFERENCES TableA NOT NULL,
     PRIMARY KEY(TableAId, TableBId )
)
Run Code Online (Sandbox Code Playgroud)

我想阻止以下情况

ParentRecord          ChildRecord …
Run Code Online (Sandbox Code Playgroud)

sql t-sql database-design

22
推荐指数
3
解决办法
1万
查看次数

C#linq in Dictionary <>

我有一个对象 allStudents = Dictionary<ClassRoom, List<Student>>()

在Linq,我如何获得所有男性学生的名单?(student.Gender =="m")来自所有课堂?

伊恩

c# linq dictionary

20
推荐指数
2
解决办法
3万
查看次数

最佳实践:直接SQL访问与Web服务

对于同时具有Web和桌面客户端版本的应用程序:

  1. 桌面客户端需要访问SQL Server的最佳实践是什么?
  2. 从应用程序连接到数据库与使用Web服务有什么好处?
  3. 哪一个提供更好的安全性?
  4. 什么类型的范围将要求一个与另一个(企业内部网与Web应用程序等)
  5. 在平台上选择时是否还有其他必要的考虑因素?

c# sql web-services

18
推荐指数
4
解决办法
1万
查看次数

它是否存在:重复代码查找器?

在不久的将来,我将继承一个有点大的项目.我最近对它进行了一些小的更新,并注意到它的一部分可能会使用一些重构,因为有些方法执行相同的操作,但差别很小.

我想知道是否有一个工具需要一堆源代码并找到类似的代码块,以便可以识别它们以进行可能的重构.如果存在模糊搜索,那将是很好的,因此它可以识别类似的操作(除了只是逐字重复的代码).

我不希望程序重构代码本身,只是确定潜在的重复.

我的平台是C#,但任何解决方案都会有所帮助

language-agnostic code-reuse refactoring dry

18
推荐指数
3
解决办法
3027
查看次数