什么是在html页面中嵌入音频mp3而不使用闪存而是使用自定义皮肤的好方法?它也应该在旧浏览器中部分工作
这是资源分配问题.我的目标是运行查询以获取任何时隙的最高优先级班次.
数据集非常大.对于这个例子,假设1000家公司各有100个班次(尽管真实数据集更大).它们都被加载到内存中,我需要对它们运行一个LINQ to Objects查询:
var topShifts =
(from s in shifts
where (from s2 in shifts
where s2.CompanyId == s.CompanyId && s.TimeSlot == s2.TimeSlot
orderby s2.Priority
select s2).First().Equals(s)
select s).ToList();
Run Code Online (Sandbox Code Playgroud)
问题在于,如果没有优化,LINQ to Objects将比较两个集合中的每个对象,进行所有1,000 x 100与1,000 x 100的交叉连接,这相当于100亿(10,000,000,000)个比较.我想要的是只比较每个公司内的对象(就像公司在SQL表中被索引一样).这将产生1000组100×100个对象,总计1000万(10,000,000)个比较.随着公司数量的增长,后者将线性扩展而不是指数级扩展.
像I4o这样的技术可以让我做这样的事情,但不幸的是,我没有在我正在执行这个查询的环境中使用自定义集合的奢侈.此外,我只希望在任何给定的数据集上运行此查询一次,因此持久索引的值是有限的.我期望使用一种扩展方法,它可以按公司对数据进行分组,然后在每个组上运行表达式.
完整示例代码:
public struct Shift
{
public static long Iterations;
private int companyId;
public int CompanyId
{
get { Iterations++; return companyId; }
set { companyId = value; }
}
public int Id;
public int TimeSlot;
public int Priority;
}
class …Run Code Online (Sandbox Code Playgroud) 我创建了一个名为"sales_rank"的属性,我将其设置为可排序属性.但是,当我从产品列表中选择它时,它并没有按照我的预期排序.在进一步检查时,它似乎是作为文本字段而不是数字排序.这意味着它将进入101,1014,102,1035,104,11,1204等....
我该如何解决?创建属性时,没有办法告诉它它是一个数字.您可以从"输入验证"框中选择"整数",那么答案是什么?我还没有尝试过......
有什么想法吗?
谢谢!
我有一个需要在Compact .NET Framework 3.5和.NET Framework 3.5中编译的项目(实际上只有2个项目,只编译两者之间发生变化的选项).
问题是,CF .NET中缺少某些类,所以我手动创建它(并实现了.NET中可用的所有类成员)
一个例子:FtpWebRequest/FtpWebResponse类.
写这样的东西是不好的(如果是,为什么?):
#if CFNET35 // Only if we are in Compact Framework 3.5 mode
namespace System.Net
{
public class FtpWebRequest : WebRequest
{
// ...
}
public class FtpWebResponse : WebResponse
{
// ...
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
我敢肯定,在CF.NET35中,这些方法永远不可用,我可以编写它吗?
我会写这个是为了避免在项目中使用我的库时发生名称冲突.
它允许我在其他项目中总是白using System.Net;求问我使用哪个框架...
谢谢 !
几个月后,我会评估我使用的策略.
如上所述,我通过进行条件编译来覆盖System(.Net)命名空间,所以我有两个DLL(一个用于CF.NET,一个用于.NET)
这也包括我使用这个DLL的所有应用程序都是双重的(每次都是CF.NET应用程序和一个包含相应库的.NET应用程序).
所以,这是一个坏主意,我有很多项目是双重的,而且.NET应用程序可以直接包含和使用CF.NET库的方式是不必要的.
此外,我还没有注意的是,如果一个.NET应用程序包含一个带有覆盖系统命名空间的CF.NET库,由于类名冲突,它的初始化将失败...
因此,提供通用接口的EPIC FAIL是管理此案例的最佳方式.
我在Django的管理员中有一个模型,它使用ModelAdmin的readonly_fields列表来显示一个"user"字段,这是一个链接到Django用户模型的ForiegnKey.默认情况下,readonly_fields会将此字段呈现为包含用户电子邮件的简单文本(例如someuser@domain.com).如何将其更改为呈现为该用户的关联管理页面的链接?(例如<a href="/admin/auth/user/123/">someuser@domain.com</a>)
Unity 2.0:
默认情况下,RegisterInstance使用ContainerControlledLifetimeManager.当处置Unity容器时,它会调用实例上的Dispose(如果是IDisposable).
在我的情况下,这不是我想要的.该实例由另一个类拥有并处置; Unity应该只注入引用.所以我用过:
container.RegisterInstance(instance, new ExternallyControlledLifetimeManager());
Run Code Online (Sandbox Code Playgroud)
Unity文档(在了解终身经理下)指出:
使用RegisterInstance方法注册现有对象会产生与刚刚使用RegisterType注册生命周期容器相同的行为.因此,建议您在使用非默认生存期管理器时不使用RegisterInstance方法注册现有对象,但调用RegisterInstance的线程除外.
这是什么意思?
同一部分还指出:
如果使用RegisterInstance方法注册了对象的现有实例,则容器将为Resolve或ResolveAll的所有调用返回相同的实例,或者当依赖性机制将实例注入其他类时,前提是满足下列条件之一:
- 您已指定容器控制的生命周期管理器
- 您已使用默认生命周期管理器
- 您正在使用不同的生命周期管理器在您注册实例的相同上下文中进行解析.
在使用RegisterInstance和ExternallyControlledLifetimeManager之后,我尝试在另一个线程中解析,并且它工作了 - 我得到了单例实例.
我的代码与"创建实例注册"部分中的示例相匹配.不过,我想确保理解背景警告.
为了清楚起见,我总是希望Unity容器注入我注册的实例而不管线程等,我不希望Unity处理它.我这样做了吗?
c# dependency-injection idisposable unity-container unity2.0
我正在使用这里找到的JSON框架:http://stig.github.com/json-framework在我的iPhone应用程序中.我正在尝试将一些数据解析为NSArray(顺序很重要,因此字典不起作用)
我从服务器获得了JSON字符串,这就是它的样子:
{"users":["example1@examle.com","example2@example.com","example3@example.com"]}
Run Code Online (Sandbox Code Playgroud)
我想最终得到的是NSArray,以便:
myArray[0] == "example1@example.com"
myArray[1] == "example2@example.com"
myArray[3] == "example3@example.com"
Run Code Online (Sandbox Code Playgroud)
这应该很简单,但对我而言,我能得到的最接近的是这个输出:
( "example1@example.com", "example2@example.com", "example3@example.com")
从这段代码
NSDictionary *dictionary = [jsonString JSONValue];
for(NSString *key in dictionary){
NSLog(@"Dictionary value for \"%@\" is \"%@\"",key, [dictionary objectForKey:key]);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
我正在尝试在设备上调试Android应用.我希望局部变量显示在Eclipse的Debug透视图的Expressions视图中,但整个视图都是空的.
控制台中的最后一条消息是:Attempting to connect debugger to 'my.app.id' on port 8601这似乎有问题.我确实在设备上启用了调试,在清单中,我有清单中包含的SET_DEBUG_APP权限.
为什么我看不到我的局部变量?
我在C++中做了很多Win32编程,许多Win32结构都有一个'size'(通常称为cbSizeor length)成员作为第一个需要在进行相关API调用之前设置的元素.例如:
WINDOWPLACEMENT wp;
wp.length = sizeof(WINDOWPLACEMENT);
GetWindowPlacement(hWnd, &wp);
Run Code Online (Sandbox Code Playgroud)
现在,我认为将结构成员初始化为零是一个好习惯,我可以这样做:
WINDOWPLACEMENT wp = { };
Run Code Online (Sandbox Code Playgroud)
要么
WINDOWPLACEMENT wp = { 0 };
Run Code Online (Sandbox Code Playgroud)
但是,如果我像这样初始化第一个成员,那么结构的其他成员会发生什么:
WINDOWPLACEMENT wp = { sizeof(WINDOWPLACEMENT) };
Run Code Online (Sandbox Code Playgroud)
它们是否自动初始化为零?或者它取决于我正在使用哪个编译器以及它是否是调试版本?
出于测试目的,让我们假设我画了两个茶壶glutSolidTeapot(),像这样:
glColor3f(1.0f, 0.0f, 0.0f); // Red teapot
glutWireTeapot(1.0f);
glColor3f(0.0f, 1.0f, 0.0f); // Green teapot
glTranslatef(0.0f, 0.0f, 3.0f);
glutWireTeapot(1.0f);
Run Code Online (Sandbox Code Playgroud)
相机最初位于(x,y,z) = (0.0f, 0.0f, 5.0f)并且我正在看z = -1(这是相机位置#1).我相信你明白绿色茶壶是最接近相机的物体,红色茶壶就在后面.问题是红色的那个被画成绿色的那个,看起来不正确:
示例:http://i.stack.imgur.com/8WoEn.png
现在,如果我也移动相机(x,y,z) = (0.0f, 0.0f, -5.0f)并观察z = 1(这是相机位置#2),我会看到绿色前面的红色茶壶,这是正常的行为.红色现在是距离相机最近的物体,绿色物体位于红色物体后面.一切都好.
示例:http://i.stack.imgur.com/eJvPE.png
我知道这与订单有关,如果我切换上面的代码(绿色茶壶代码优先),它将解决相机位置#1中的问题,但问题现在将在相机位置#2中可见.
为什么会发生这种情况?如何保持其他对象后面的对象不被绘制在前面,或者根本不被绘制?
c# ×3
.net ×1
android ×1
audio ×1
c++ ×1
clr ×1
cocoa-touch ×1
debugging ×1
device ×1
django ×1
django-admin ×1
drawing ×1
eclipse ×1
frameworks ×1
glut ×1
html5 ×1
idisposable ×1
indexing ×1
iphone ×1
javascript ×1
magento ×1
magento-1.4 ×1
namespaces ×1
objective-c ×1
opengl ×1
python ×1
unity2.0 ×1
xcode ×1
z-index ×1