我喜欢用.NET编程,尤其是C#3.0,.NET 3.5和WPF.但我特别喜欢Mono .NET与平台无关.
现在我听说了莫诺的橄榄计划.我找不到某种Beta.
它已经有效吗?有没有人对它有任何经验?
编辑:我知道月光.但我想要一个独立的WPF应用程序.而且因为月光我希望WPF上Linux将成为现实.
我想要做的是将文件中的设置包含到我当前的交互式bash shell中,如下所示:
$./path/to/some/dir/.settings
问题是.settings脚本还需要使用".".运算符包含其他文件,如下所示:
..extra_settings
如何在.settings文件中引用.extra_settings的相对路径?这两个文件始终存储在同一目录中,但此目录的路径将根据这些文件的安装位置而有所不同.
操作员总是知道/ path/to/some/dir /,如上所示..settings文件如何知道安装它的目录?我宁愿没有一个记录已安装目录名称的安装过程.
我的默认文件是在子文件夹而不是root中如何在asp.net 2.0网站中将其设为默认值.
尝试将iis7默认文档设置为'/pages/default.aspx''〜/ pages/default.aspx',但它不起作用.
我必须接管并改进/完善一些代码,将Java对象从第三方库转换为内部对象.目前,这是通过一个大的if-else语句完成的:
if (obj instanceOf X)
{
//code to initialize internal object
}
else if (obj instanceOf Y)
{
//code to initialize different object
}
else if (obj instanceOf Z)
{
//more init code
}
...
Run Code Online (Sandbox Code Playgroud)
我个人认为这个解决方案并不令人满意; 它变得冗长而混乱,更糟糕的是,许多if-else块包含更多if-else块处理子类和边缘情况.这个问题有更好的解决方案吗?
有任何想法吗?
我在另一个问题中看到了这个提示,并想知道是否有人可以向我解释这是如何工作的?
try { return x; } finally { x = null; }
Run Code Online (Sandbox Code Playgroud)
我的意思是,该finally条款真正执行后的return声明?这段代码的线程不安全吗?你能想到这个try-finally黑客可以做的任何额外的hackery 吗?
大多数人应该知道close()也关闭任何流使用.
这允许以下代码:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(...)));
...
br.close();
Run Code Online (Sandbox Code Playgroud)
这很好,因为我们不需要引用FileInputStream并记得关闭它.
但是它也适用于FileLocks吗?
final FileInputStream fis = new FileInputStream(new File("buffer.txt"));
final FileChannel c = fis.getChannel();
final FileLock lock = c.lock(0L, Long.MAX_VALUE, true);
final BufferedReader br = new BufferedReader(new InputStreamReader(fis));
try {
while(br.ready()) {
System.out.println(br.readLine());
}
} finally {
br.close();
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这段代码并且在br.close()调用时正确释放了锁,但这样做是否安全?该可关闭的JavaDoc说,"关闭此流并释放与之关联的所有系统资源." 我可以安全地假设我正在使用锁定close()指定release()的吗?
在编写SQL查询时,是否有任何免费的"内置"方法可以在SQL 2005/2008管理工作室中大写"关键字"?
即
truncate table x
Run Code Online (Sandbox Code Playgroud)
应自动更改为:
TRUNCATE TABLE x
Run Code Online (Sandbox Code Playgroud) 我有一个带有over-ridden方法的子类,我知道它总是返回基类中声明的返回类型的特定子类型.如果我以这种方式编写代码,它将无法编译.既然这可能没有意义,让我举一个代码示例:
class BaseReturnType { }
class DerivedReturnType : BaseReturnType { }
abstract class BaseClass {
public abstract BaseReturnType PolymorphicMethod();
}
class DerivedClass : BaseClass {
// Compile Error: return type must be 'BaseReturnType' to match
// overridden member 'BaseClass.PolymorphicMethod()'
public override DerivedReturnType PolymorphicMethod() {
return new DerivedReturnType();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#中实现这一目标?如果没有,那么实现类似目标的最佳方式是什么?为什么不允许这样做?它似乎不允许任何逻辑不一致,因为从over-ridden方法返回的任何对象仍然存在is BaseReturnType.也许有些东西我没考虑过.或者原因可能是技术或历史.
我永远不会记得我是怎么做的,因为它对我来说很少见.但是在C或C++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).
理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.
c# ×3
.net ×2
java ×2
asp.net ×1
bash ×1
c ×1
c++ ×1
filelock ×1
iis-7 ×1
inheritance ×1
inputstream ×1
javascript ×1
linux ×1
mono ×1
nio ×1
performance ×1
scripting ×1
shell ×1
sql-server ×1
ssms ×1
t-sql ×1
unix ×1
wpf ×1