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) 我正在使用字典来执行我正在处理的程序的查找.我在字典中运行了一堆密钥,我希望某些密钥没有值.我抓住KeyNotFoundException它发生的右边,然后吸收它.所有其他异常将传播到顶部.这是处理这个问题的最佳方法吗?或者我应该使用不同的查找?该字典使用int作为其键,并使用自定义类作为其值.
以下哪个代码是转换某些对象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) 目前我有以下代码来显示工具提示.
<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或空字符串,有没有办法完全删除工具提示?
我正在寻找一种方法将.txt文件加密成zip,但是采用安全的密码保护方式.我的目标是通过电子邮件发送此文件给我,没有人能够阅读附件的内容.
有没有人知道一个简单的,最重要的,安全的方法来实现这一目标?我可以创建zip存档,但我不知道如何加密它们,或者它是多么安全.
我想知道对于多对多关系的交叉表有什么更好的设计.
我正在考虑的两种方法是:
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) 我有一个对象 allStudents = Dictionary<ClassRoom, List<Student>>()
在Linq,我如何获得所有男性学生的名单?(student.Gender =="m")来自所有课堂?
伊恩
对于同时具有Web和桌面客户端版本的应用程序:
在不久的将来,我将继承一个有点大的项目.我最近对它进行了一些小的更新,并注意到它的一部分可能会使用一些重构,因为有些方法执行相同的操作,但差别很小.
我想知道是否有一个工具需要一堆源代码并找到类似的代码块,以便可以识别它们以进行可能的重构.如果存在模糊搜索,那将是很好的,因此它可以识别类似的操作(除了只是逐字重复的代码).
我不希望程序重构代码本身,只是确定潜在的重复.
我的平台是C#,但任何解决方案都会有所帮助
c# ×5
sql ×2
binding ×1
casting ×1
code-reuse ×1
dictionary ×1
dry ×1
encryption ×1
exception ×1
linq ×1
optimization ×1
php ×1
rdbms ×1
refactoring ×1
ruby ×1
silverlight ×1
t-sql ×1
tooltip ×1
web-services ×1
xaml ×1
zip ×1