我想检查对象(例如someObject)是否可分配(可铸造)到另一种类型的变量(例如SpecifiedType).在Java中,我可以写:
someObject instanceof SpecifiedType
Run Code Online (Sandbox Code Playgroud)
一个相关的问题是查找对象的运行时类型是否等于另一种类型.在Java中,我可以写:
someObject.getClass().equals(SpecifiedType.class)
Run Code Online (Sandbox Code Playgroud)
如何在Objective-C中完成?
我经常发现自己创建了Dictionary一个非平凡的值类(例如List),然后在填充数据时总是编写相同的代码模式.
例如:
var dict = new Dictionary<string, List<string>>();
string key = "foo";
string aValueForKey = "bar";
Run Code Online (Sandbox Code Playgroud)
也就是说,我想插入"bar"与key对应的列表"foo",其中key "foo"可能不会映射到任何内容.
这是我使用不断重复的模式的地方:
List<string> keyValues;
if (!dict.TryGetValue(key, out keyValues))
dict.Add(key, keyValues = new List<string>());
keyValues.Add(aValueForKey);
Run Code Online (Sandbox Code Playgroud)
有更优雅的方式吗?
相关问题没有这个问题的答案:
有时,当我在我的MacOSX Lion上启动Eclipse(Web开发人员的Java EE IDE,Indigo SR 1)时,我的GWT(2.4.0)项目最初无法编译.
Eclipse在"问题"部分中显示以下消息:
The project XXX does not have any GWT SDKs on its build path
Run Code Online (Sandbox Code Playgroud)
以下是有时可行的半解决方案列表(我通常按此顺序尝试):
Project > Clean.任何有助于防止问题再次发生的帮助都将受到欢迎.
我为它创建了一个ButtonCell和一个列:
ButtonCell previewButton = new ButtonCell();
Column<Auction,String> preview = new Column<Auction,String>(previewButton) {
public String getValue(Auction object) {
return "Preview";
}
};
Run Code Online (Sandbox Code Playgroud)
我现在如何为此ButtonCell添加点击处理程序(例如ClickHandler)?
假设我有一个项目"MyFramework",它有一些代码,用于很多解决方案.每个解决方案都有自己的源控制管理(SVN).
MyFramework是一个内部产品,没有正式的发布时间表,解决方案也是如此.
我不希望不必将DLL构建并复制到所有12个项目,即新开发人员应该能够只执行svn-checkout并开始工作.
在所有这些解决方案中分享MyFramework的最佳方式是什么?
似乎在类型的标准库中没有函数char -> string -> string,它在a char的前面(或者在a的末尾插入)string.有解决方法,例如使用String.make或String.blit.有一种优雅的方式来做到这一点?
我正在尝试找到一个从OCaml程序访问数据库的库.尝试ocaml-sqlite后,我不满意,因为它有点慢.
我见过MySQL模块,但似乎没有维护.
有没有一种简单的方法来创建Java的plist?结果应与在Objective C中序列化字典相同.
假设您正在C#中编写一些PSCmdLet:
/// <summary>
/// Get a stack overflow exception.
/// </summary>
[Cmdlet(VerbsCommon.Join, "StackOverflow")]
[OutputType(typeof(OverflowException))]
public class JoinStackOverflow : PSCmdlet {
protected override void ProcessRecord() {
throw new OverflowException("stack");
}
}
Run Code Online (Sandbox Code Playgroud)
如果将定义上述内容的模块加载到PowerShell中,该命令help Join-StackOverflow将返回以下内容:
NAME
Join-StackOverflow
SYNTAX
Join-StackOverflow [<CommonParameters>]
ALIASES
None
REMARKS
None
Run Code Online (Sandbox Code Playgroud)
我如何为此cmdlet添加简介/摘要,例如,与for相同Get-Process:
NAME
Get-Process
SYNOPSIS
Gets the processes that are running on the local computer or a remote computer.
...
Run Code Online (Sandbox Code Playgroud) 我怎样才能解决这个问题:
abc="a/b/c"; echo porc | sed -r "s/^/$abc/"
sed: -e expression #1, char 7: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)
变量的替换$abc正确完成,但问题是$abc包含斜杠,这会混淆sed.我可以以某种方式逃脱这些斜线吗?
例如,以下代码打印" System.Int32",而不是" int":
string connArgs = "..."; // use your settings here
string query = "SELECT 1";
using (SqlConnection conn = new SqlConnection(connArgs)) {
conn.Open();
SqlCommand cmd = new SqlCommand(query, conn);
using (SqlDataReader reader = cmd.ExecuteReader())
for (int col = 0; col < reader.VisibleFieldCount; ++col)
Console.WriteLine(reader.GetFieldType(col));
}
Run Code Online (Sandbox Code Playgroud)
如何获取基础SQL类型,而不仅仅是其等效的.NET系统类型?
c# ×3
.net ×2
gwt ×2
java ×2
objective-c ×2
ocaml ×2
sql ×2
bash ×1
build ×1
casting ×1
char ×1
click ×1
cmdlet ×1
database ×1
dictionary ×1
downcast ×1
eclipse ×1
equality ×1
escaping ×1
gwt2 ×1
linux ×1
macos ×1
mysql ×1
plist ×1
postgresql ×1
powershell ×1
pscmdlet ×1
sed ×1
sql-server ×1
sql-types ×1
string ×1
svn ×1
types ×1
variables ×1