如果我使用FileStream创建StreamReader,关闭FileStream时StreamReader会关闭还是我还需要关闭StreamReader?
public void ReadFile()
{
var file = new FileStream("c:\file.txt", FileMode.Open, FileAccess.Read);
var reader = new StreamReader(file);
try
{
txtFile.Text = reader.ReadToEnd();
}
catch (Exception)
{
throw;
}
finally
{
file.Close();
}
}
Run Code Online (Sandbox Code Playgroud) 我今天遇到了一件有趣的事情,我以前从未注意过.似乎SQL和LINQ对AlphaNumeric字符串的顺序不同.
数据表包含行:A G 6 P 1 D J 2 T Z 9 F 0
如果我在SQL中执行Order By,我会收到以下结果:A D F G J P T Z 0 1 2 6 9
现在考虑这个LINQ示例:
class Program
{
static void Main(string[] args)
{
var list = new List<string>()
{
"A",
"G",
"6",
"P",
"1",
"D",
"J",
"2",
"T",
"Z",
"9",
"F",
"0"
};
Console.WriteLine("Default Order:");
list.ForEach(s => Console.WriteLine(s));
Console.WriteLine();
Console.WriteLine("Sorted Order:");
foreach (string s in list.OrderBy(f => f))
{
Console.WriteLine(s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出为0 1 2 …
我正在与DBA发生一个有趣的争论,他坚持认为不应该在T-SQL中使用DELETE命令,而是删除数据的正确方法是将您想保留的数据移动到临时表中,并删除并重新创建原始表.给出的理由是它应该防止索引碎片问题.
有没有人听说这是一种做法,任何人都可以提出为什么这可能是一个好主意?这是一个相当复杂的结构,我们通常会讨论用于无限期聚合数据的表的少量选择性删除(图中,一次少于1000行).
我无法想象这样做的理由,而不是简单地在适当的时候重新组织/重建索引,但如果我错过了什么,我会很乐意接受教育.谢谢!
我是使用mapinfo的新手,我将继续使用它.我无法找到一个好的论坛,因此无法获得社区驱动的帮助.我希望你能告诉我是否有一个好地方找到mapinfo相关的帮助.
提前致谢.
我正在寻找一种易于使用的线框工具.我听说过很奇怪,还有其他人吗?
具体来说,我想要一些东西
我正在研究弹簧可能切换到弹簧组.我认为很酷的一件事是spring jdbc能够记录所有已执行的sql.所以我放入了log4j,设置了一个log4j.properties文件.而且没有sql.
这是log4j.properties文件:
log4j.appender.stdout=org.apache.log4j.ConsoleAppe nder
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.Patt ernLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=debug, stdout
log4j.category.org.springframework.jdbc.core=DEBUG
Run Code Online (Sandbox Code Playgroud)
这里是一些非常简单的插入sql的输出,通过spring jdbc:http://pastie.org/713189
建议我最好的开源图API与java应用程序集成.基本上它收集和存储一些数据.这些收集的数据应该绘制在一个图表中,如数据流量的平均值,每周平均值...... API应该支持广泛的图表类型,如条形图,饼图,自定义图表等,
是否可以转发声明一个使用默认参数的类而不指定或知道这些参数?
例如,我想boost::ptr_list< TYPE >在Traits类中声明一个,而不将整个Boost库拖动到包含特征的每个文件中.我想声明
namespace boost { template<class T> class ptr_list< T >; },但这不起作用,因为它与真正的类声明不完全匹配:
template < class T,
class CloneAllocator = heap_clone_allocator,
class Allocator = std::allocator<void*>
>
class ptr_list { ... };
Run Code Online (Sandbox Code Playgroud)
我的选择只是与它一起生活或boost::ptr_list< TYPE, boost::heap_clone_allocator, std::allocator<void*>在我的特质课程中指定吗?(如果我使用后者,我想也必须转发声明boost::heap_clone_allocator和包含<memory>,我想.)
我查看了Stroustrup的书,SO和其他互联网,但没有找到解决方案.通常人们担心不包括STL,解决方案是"只包括STL标题".但是,Boost是一个更大规模和编译器密集型的库,因此除非我绝对必须,否则我更愿意将其删除.