- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个很大的结果集,来自一个非常复杂的SQL查询。这些值中有一个string
表示一个位置(以后将帮助我确定该值来自的页面位置),一个int
是根据该行的其他值为每行计算的优先级数字,另一个string
包含一个我必须记住的值,以后再显示。
问题在于sql查询是如此复杂(它具有UNIONS,JOINS和带有别名的复杂计算),以至于我在逻辑上无法在不弄乱其工作方式的情况下将其他任何内容放入其中。
可以这么说,尽管在查询完成并执行了计算之后,我需要一些可能由聚合函数解决的东西,但这不是一个选择,因为所有列都不来自其他聚合函数。
关于如何遍历结果,我已经动了好几天的脑筋,将一对值存储在一个列表中(或以某种方式将两个单独的列表捆绑在一起),其中一个值是每个位置的所有优先级值的总和并且另一个值是一个不同的位置值(即,在循环遍历结果时,它将不会创建具有与以前使用的位置值相同的另一个列表项,但是,它仍然需要所有其他值的总和)来自相同位置的优先级值)。另外,结果需要按降序排列优先级(因此,使用两个列表会出现问题)。
例:
编辑:我忘记了,保留的值应该是sql查询中具有最高优先级的行中的值。
如果我得到以下结果:
location priority value
--------------------------------------------------------------------------------
page1 1 some text!
page2 3 more text!
page2 4 even more text!
page3 3 text again
page3 1 text
page3 1 still more text!
page4 6 text
location priority value
--------------------------------------------------------------------------------
page2 7 even more text!
page4 6 text
page3 5 text again
page1 1 some text!
for
循环,因为我无法访问IEnumerable(或存储通过
Database.Open.Query()
返回的内容的任何类型索引(当然这是有道理的)。另外,我需要优先排序,但不能使一个列表与其他列表不同步。
.cs
文件,但我主要只使用过静态类,并且还需要一个静态类。关于构造函数的小知识复习课程,以及如何进行适当设置。
最佳答案
您的帖子以多种方式使我感到惊讶,例如说“主要使用静态类”和“期望实例化一个类/对象是不可能的” ..您说的真的很奇怪。我只能以查尔斯·巴贝奇的名言回应:
我不能正确地理解可能引起这种问题的那种混淆观念。
无论如何..正如您说的那样,您很难找到lambda,让我们以经典的“手动”方式跟踪问题。
假设您有一个包含位置和优先级的ROWS列表。
List<DataRow> rows = .... ; // datatable, sqldatareader, whatever
HashSet<string> locations = new HashSet<string>();
foreach(var row in rows)
locations.Add( (string)rows["LOCATION"] );
locations
哈希集将仅记住所有唯一位置。 “添加”不会导致重复的元素。 HashSet检查并“唯一化”其内部的所有值。棘手的是,哈希集没有
[index]
运算符。您必须枚举哈希集才能获取值:
foreach(string loc in locations)
{
Console.WriteLine(loc);
}
List<string> locList = new List<string>(locations);
Console.WriteLine(locList[2]); // of course, assuming there were at least three..
Dictionary<Key,Val>
可能会有用。它允许您将“值”与一些“键”进行存储/关联,即:
Dictionary<string, double> dict = new Dictionary<string, double>();
dict["mamma"] = 123.45;
double d = dict["mamma"]; // d == 123.45
Dictionary<string, double> dict = new Dictionary<string, double>();
dict["mamma"] = 123.45;
double d = dict["daddy"]; // throws KeyNotBlarghException
Dictionary<string, double> dict = new Dictionary<string, double>();
dict["mamma"] = 123.45;
bool knowIt = dict.ContainsKey("daddy"); // == false
Dictionary<string, double> dict = new Dictionary<string, double>();
bool knowIt = dict.ContainsKey("daddy"); // == false
if( !knowIt )
dict["daddy"] = 5;
dict["daddy"] += 101; // now 106
Dictionary<string, double> prioSums = new Dictionary<string, double>();
foreach(var row in rows)
{
string location = (string)rows["LOCATION"];
double priority = (double)rows["PRIORITY"];
if( ! prioSums.ContainsKey(location) )
// make sure that dictionary knows the location
prioSums[location] = 0.0;
prioSums[location] += priority;
}
prioSums
将知道所有位置和所有优先级总和:
var sss = prioSums["NewYork"]; // 9123, assuming NewYork was some location
foreach(string key in prioSums.Keys)
Console.WriteLine(key);
foreach(string key in prioSums.Keys)
{
Console.WriteLine(key);
Console.WriteLine(prioSums[key]);
}
Dictionary<string,string>
来收集位置的最高排名值。如果仅从字典中取出这些值并将它们作为一个i.e.列表进行排序,那么“降序”就非常容易实现。所以我现在将其略过。
关于c# - 有没有办法遍历我的sql结果并将某些名称/值对存储在C#中的其他位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604201/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
在现代 IDE 中,有一个键盘快捷键可以通过键入文件名称来打开文件,而无需将手放在鼠标上。例如: Eclipse:Cmd|Ctrl + Shift + R -> 打开资源 IntelliJ:Cmd|C
有什么东西会等待事件发生(我正在等待的是 WebBrowser.DocumentCompleted),然后执行代码吗?像这样: If (WebBrowser.DocumentCompleted) 不会
我使用 PHP Minify,它很棒。但我的问题是,是否有任何 PHP 插件或其他东西可以自动检测 javascript/css 代码并自动缩小它?谢谢。 最佳答案 Javascript 压缩器? 看
有没有一种语言,类似什么CoffeeScript是JavaScript,编译成windows batch|cmd|command line的语言? 我指的cmd版本是基于NT的,尤其是XP sp3及以
我知道我可以 ,但是,我真的宁愿有一个任务,我可以从任何可以使用所有(或至少大部分)属性的操作系统调用 copy ,但这并没有消除 unix 上的权限。 我想知道是否已经有解决方案,或者我必须自己编
我正在使用 Vuejs(不使用 jQuery)开发一个项目,该项目需要像 jvectormap 这样的 map 但正如我所说,我没有使用 jQuery,那么是否有任何其他库可以在不使用 jQuery
想要进行一个简单的民意调查,甚至不需要基于 cookie,我不在乎投了多少票。有没有类似的插件或者简单的东西? 最佳答案 这是一个有用的教程 - 让我知道它是否适合您 using jQuery to
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
var FileBuff: TBytes; Pattern: TBytes; begin FileBuff := filetobytes(filename); Result := Co
我想要一个 vqmod xml 文件来添加一次上传多个图像的功能。身边有这样的事吗? 编辑:Opencart版本:2.1.0.1 最佳答案 最后我写了一个xml来添加到opencart 2.1.0.1
所以考虑这样的函数: public void setTemperature(double newTemperatureValue, TemperatureUnit unit) 其中Temperatur
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我是 ggplot2 的新手,一直在尝试找到一个全面的美学列表。我想我理解它们的目的,但很难知道哪些可以在各种情况下使用(主要是几何图形?)。 Hadley 的网站偶尔会在各个几何图形的页面上列出可用
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
是否有任何 PHP 函数可以将整数转换为十万和千万? 900800 -> 9,00,800 500800 -> 5,00,800 最佳答案 由于您已在问题标签中添加了 Yii,因此您可以按照 Yii
使用 Clojure 一段时间后,我积累了一些关于它的惰性的知识。我知道诸如map之类的常用API是否是惰性的。然而,当我开始使用一个不熟悉的API(例如with-open)时,我仍然感到怀疑。 是否
我的项目需要一个像 AvalonDock 这样的对接系统,但它的最后一次更新似乎是在 2013 年 6 月。是否有更多...积极开发的东西可以代替它? 最佳答案 AvalonDock 实际上相当成熟并
我正在寻找一个可以逆转 clojure 打嗝的函数 所以 turns into [:html] 等等 根据@kotarak的回答,这现在对我有用: (use 'net.cgrand.enliv
我是一名优秀的程序员,十分优秀!