我编写了以下代码以从ASP.Net MVC中的ViewData.Modelstate属性中引出异常以及引用该属性的字符串键.我认为应该可以用Linq表达式做到这一点,但它完全让我感到困惑.
var exceptions = new Dictionary<string, Exception>();
foreach (KeyValuePair<string, ModelState> propertyErrorsPair in ViewData.ModelState)
{
foreach (var error in propertyErrorsPair.Value.Errors)
{
if (error.Exception != null)
{
exceptions.Add(propertyErrorsPair.Key, error.Exception);
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么Linq的做法是什么?我猜它可能与SelectMany有关,但正如我所说,我无法弄清楚如何实现这一目标.
谢谢
我刚刚替换了这段代码:
foreach( var source in m_sources )
{
if( !source.IsExhausted )
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
这一个:
foreach( var source in m_sources.Where( src => !src.IsExhausted ) )
{
...
}
Run Code Online (Sandbox Code Playgroud)
现在代码看起来更好(对我来说),但我想知道这里发生了什么.我担心这种情况下的性能,如果应用这个过滤器意味着会发生某种编译魔术,那将是个坏消息.
这两段代码基本上是"相同"的吗?是否创建了临时容器来进行过滤,然后将它们传递给我的foreach?
任何有关该主题的帮助将非常感激.谢谢.
如何传递Q列表以过滤OR查找?就像是:
q_list = [Q(xyz__isnull=True), Q(x__startswith='x')]?
Run Code Online (Sandbox Code Playgroud)
如果没有列表,我会这样做:
Model.objects.filter(Q(xyz__isnull=True) | Q(x__startswith='x'))
Run Code Online (Sandbox Code Playgroud) 这与一篇类似的帖子有些相关,但该帖子一般是Visual Studio 6,很多建议都不适用于Visual Basic 6.0.
建议或投票选择工具/提示.每个帖子请一个工具/提示,以便每个人都可以单独投票.包括工具的简要说明.
我现在正在学习python和PyGTK,并创建了一个简单的音乐组织者. http://pastebin.com/m2b596852 但是当它用挪威字母æ,ø和å编辑歌曲时,它只是将它们变成一个奇怪的角色.
那么有没有什么好方法可以将名称打开或编码为utf-8字符?
从文件中读取信息:
def __parse(self, filename):
"parse ID3v1.0 tags from MP3 file"
self.clear()
self['artist'] = 'Unknown'
self['title'] = 'Unknown'
try:
fsock = open(filename, "rb", 0)
try:
fsock.seek(-128, 2)
tagdata = fsock.read(128)
finally:
fsock.close()
if tagdata[:3] == 'TAG':
for tag, (start, end, parseFunc) in self.tagDataMap.items():
self[tag] = parseFunc(tagdata[start:end])
except IOError:
pass
Run Code Online (Sandbox Code Playgroud)
打印到sys.stdout信息:
for info in files:
try:
os.rename(info['name'],
os.path.join(self.dir, info['artist'])+' - '+info['title']+'.mp3')
print 'From: '+ info['name'].replace(os.path.join(self.dir, ''), '')
print 'To: '+ info['artist'] +' - '+info['title']+'.mp3'
print
self.progressbar.set_fraction(i/num)
self.progressbar.set_text('File …Run Code Online (Sandbox Code Playgroud) 我正在编写一个方案解释器,如果是if语句,例如:
(if (< 1 0) 'true)
Run Code Online (Sandbox Code Playgroud)
我试过的任何解释器都会返回一个新提示.但是当我对此编码时,我有一个if是否有另一种表达方式.如果不打印任何东西,我可以返回什么?
(if (has-alternative if-expr)
(eval (alternative if-expr))
#f) ;; what do I return here?
Run Code Online (Sandbox Code Playgroud) 我在java中构造一个字节数组,我不知道数组会有多长.
我想要一些像Java的StringBuffer这样的工具你可以调用.append(字节b)或.append(byte [] buf)并让它缓冲我的所有字节并在完成后返回给我一个字节数组.是否有一个类用于StringBuffer为字符串做什么?它看起来不像我正在寻找的ByteBuffer类.
谁有一个很好的解决方案?
我在MySQL 5.0.67中使用Hibernate的JPA实现.MySQL配置为使用InnoDB.
在执行JPA查询(转换为SQL)时,我发现使用该IN子句比执行单个查询要慢.例:
SELECT p FROM Person p WHERE p.name IN ('Joe', 'Jane', 'Bob', 'Alice')
Run Code Online (Sandbox Code Playgroud)
比四个单独的查询慢:
SELECT p FROM Person p WHERE p.name = 'Joe'
SELECT p FROM Person p WHERE p.name = 'Jane'
SELECT p FROM Person p WHERE p.name = 'Bob'
SELECT p FROM Person p WHERE p.name = 'Alice'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?这是MySQL的性能限制吗?
我在sql server 2005中使用导出数据向导.
我在许多字段中都有一个包含空值的表.我想保存这些字段,因为我导出到.csv但是它们被替换为空字符串.
我已经尝试更改向导中字段的'nullable'复选框,但这似乎没有做任何事情.还尝试使用"作为分隔符,因为没有分隔符,NULL将被解释为字符串.
我有一个关于gcc的问题.为什么我在函数中本地定义变量时会得到未使用变量的错误,但是当变量在唯一文件中是全局变量时?
我可以理解它可以用于其他人,但为了做到这一点,我需要把外部词放在正确的位置?
提前致谢.