我有这个代码:
$rows = array();
$res = mysql_query($someQuery);
if(!mysql_errno())
while($row = mysql_fetch_assoc($res))
$rows[] = $row;
Run Code Online (Sandbox Code Playgroud)
$someQuery
是我写入表单的任意查询.当我编写一个包含错误的mysql查询时,mysql_errno捕获了这种情况.但是,我刚刚发现,当我执行"从table_name中删除"查询时,它当然不是错误,但同时mysql_fetch_assoc失败并出现"警告:mysql_num_rows():提供的参数不是有效的MySQL结果第x行上的/blah/blah/file.php中的资源.
我试图在手册中寻找它(也许我只是盲目...)但是有一个函数我可以用来检查$ res是否是一个有效的MySQL结果资源?
是否可以在IOrderedEnumerable<T>
不使用OrderBy
或OrderByDescending
方法的情况下从方法返回IEnumerable<T>
?
我猜也许不是......但......也许我错了?
理由:主要是好奇心.在回答一个数字中的数字时,这对我有点打击.并且我的方法将按照给定数字中的权重按升序返回数字.所以我认为如果他们以一种框架可以识别为有序的方式排序出来可能会很好.当然,我们可以争辩说,从共同的数字观点来看,它们并没有被订购.但是,如果他们应该或不应该不是这里的重点.只要它是否可能.
如果一个问题IOrderedEnumerable<T>
不仅仅是IEnumerable<T>
一个不同的名字,我想我也有点暗示一个问题(或者至少是现在).它还包含更多内容吗?我知道它有ThenBy
和ThenByDescending
方法,但它们是否使用了内部的任何东西IOrderedEnumerable<T>
,或者它只是在直接使用它们没有意义IEnumerable<T>
?
我有一个数据集的报告,其中包含一个包含布尔值的列.在表格页脚中,我想显示x / y
其中x
有多少行true
以及y
总共有多少行.
目前我有这个:
=Count(Fields!Transfered.Value).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
但第一部分与最后部分相同.然后我尝试了这个:
=Sum(Fields!Transfered.Value).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
但这会产生错误,我想我可以理解.我认为如果我将布尔值转换为数字,其中true为1且false为0,那么它可以很好地解决.但是我该怎么做呢?或者这是一个更聪明的方式一起完成这一切?
更新:现在也尝试过了
=Sum(CInt(Fields!Transfered.Value)).ToString() + " / " + CountRows().ToString()
Run Code Online (Sandbox Code Playgroud)
并得到了负面结果......哦
还找到了一种有效的方法,我将其作为答案发布.但我不会接受它作为答案,但是有人有更好的方法来做到这一点=)
我很想知道这个SingleOrFallback
方法是如何在MoreLinq中实现的,并发现了一些我以前没见过的东西:
public static T SingleOrFallback<T>(this IEnumerable<T> source, Func<T> fallback)
{
source.ThrowIfNull("source");
fallback.ThrowIfNull("fallback");
using (IEnumerator<T> iterator = source.GetEnumerator())
{
if (!iterator.MoveNext())
{
return fallback();
}
T first = iterator.Current;
if (iterator.MoveNext())
{
throw new InvalidOperationException();
}
return first;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么IEnumerator<T>
在using
声明中?在使用foreach
on 时也应该考虑这个问题IEnumerable<T>
吗?
附带问题:这种方法究竟做了什么?每当源序列不包含一个项时,它是否返回后备项?
考虑在我的华硕eee 1000HE上安装Visual Studio.由于它不是一个非常强大的机器,我想知道我是应该安装2008还是新的2010.看起来对UI做了很多改变,等等.这是否意味着它现在运行得更顺畅?或者它实际上更重?
performance visual-studio-2010 visual-studio-2008 visual-studio
我们有一个资源文件,其中包含许多翻译过的字符串,在我们的应用程序中使 是否有更好的方法将例如按钮的文本绑定到某个字符串?
目前我们通常只是在构造函数,Load事件处理程序或其中一个调用的方法中执行类似的操作:
someButton.Text = CommonTexts.SomeString;
someMenuItem.Text = CommonTexts.SomeOtherString;
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?也许在设计师?或者这是推荐的做法吗?
只是为了让您知道我们如何进行实际翻译:我们有一个只包含resx文件的类库项目.主要的resx文件是用英语写的(当然).然后,我们在名为ResEx的应用程序中打开这些基本resx文件,我们(或其他人)将其翻译成其他语言.编译时,Visual Studio会自动为每种语言创建程序集,这些程序集将根据当前文化集自动使用.这非常有效,所以我真的不需要关于如何进行翻译的信息(虽然我总是对改进当然感到好奇).我要问的是,是否有更好的方法可以将资源组件中的翻译字符串转换为所有各种Text
属性.
我认为应该很容易创建一个ProgressBar
吸取一些文本的东西.但是,我不太清楚这里发生了什么......
我添加了以下两个覆盖:
protected override void OnPaintBackground(PaintEventArgs pevent)
{
base.OnPaintBackground(pevent);
var flags = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.SingleLine | TextFormatFlags.WordEllipsis;
TextRenderer.DrawText(pevent.Graphics, "Hello", Font, Bounds, Color.Black, flags);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var flags = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.SingleLine | TextFormatFlags.WordEllipsis;
TextRenderer.DrawText(e.Graphics, "Hello", Font, Bounds, Color.Black, flags);
}
Run Code Online (Sandbox Code Playgroud)
但是,我没有文本,甚至似乎都没有调用这些方法.这里发生了什么?
更新:由于到目前为止的两个答案,我已经得到它实际调用OnPaint
使用SetStyle(ControlStyles.UserPaint, true)
,我已经得到它通过发送new Rectangle(0, 0, Width, Height)
而不是在正确的地方绘制文本Bounds
.
我现在确实得到了文字,但是ProgressBar
它已经消失了...而且重点是将文本置于文本之上ProgressBar
.知道如何解决这个问题吗?
我刚刚发现我的测试次数是我应该得到的两倍.在测试中断时我发现了两次相同的测试失败.同样的测试,一切都一样.让我很困惑,但设法将其缩小到某个部分类的测试类.
它是一个部分类的原因是我把测试类分成了两个,只是为了让它更干净一点.被测试的类有一个需要大量测试的特定方法,我认为将它们放在一个单独的文件中会更清晰.但是由于使用了一个或两个辅助方法,我认为我可以使该类部分,因此两个文件仍然可以访问这些方法.
测试框架是NUnit,测试是使用TestDriven.Net运行的.从单个测试方法(报告两个测试通过而不是一个),在类(获得测试数量的两倍)和整个测试项目中进行测试.
管理通过使类不是部分的来修复问题,只是复制那些微小的帮助器方法(可能会将它们移动到一个单独的帮助器类或稍后的东西).
现在......为什么这发生了呢?我认为部分类被编译成一个类?这是一般的部分类,NUnit,Test-Driven.net还是完全不同的问题?
我想知道以下内容:我将"Graphics"文件夹添加到我的项目中并在其中粘贴了BMP.现在我想从我的代码加载图像,但我无法弄清楚如何.我知道它的资源很简单但有没有办法将图像添加到资源中?谢谢
假设我们有一个用户输入各种信息的表单.我们验证信息,发现有问题.字段丢失,电子邮件无效,等等.
当再次向用户显示表单时,我当然不希望他再次键入所有内容,因此我想填充输入字段.没有卫生处理这样做是否安全?如果没有,首先应该进行的最小消毒是什么?
并且要澄清:它当然会在例如添加到数据库或在网站的其他地方显示之前进行消毒.
c# ×5
ienumerable ×2
winforms ×2
controls ×1
generics ×1
html ×1
idisposable ×1
ienumerator ×1
image ×1
mysql ×1
nunit ×1
onpaint ×1
overriding ×1
performance ×1
php ×1
resultset ×1
security ×1
sql-server ×1
text ×1
unit-testing ×1
user-input ×1
vb.net ×1
xss ×1