我有一个logins表记录所有登录和注销活动.我希望在24小时内查看特定用户的所有登录活动.怎么做?这样的事情:
var records = from record in db.Logins
where record.Users.UserId == userId
&& record.Timestamp <= (DateTime.Now + 24)
select record;
Run Code Online (Sandbox Code Playgroud)
record.Timestamp <= (DateTime.Now + 24)这里错了.我正在使用C#3 + L2E.
我编写了一个具有许多自定义视图的应用程序,通常会绘制很多行和位图.由于性能对应用程序来说有点关键,我花了很多时间来优化绘图性能.
现在,活动监视器告诉我,我的应用程序通常使用大约12%的CPU和仪器(分析器)表示花费了大量10%的CPU objc_msgSend(主要用于绘制相关的系统调用).
一方面,我很高兴这一点,因为这意味着我的绘图速度和它的速度一样快,我的优化也取得了巨大的成功.另一方面,它似乎意味着仍然使用我的CPU的唯一事情是messages(objc_msgSend)的Objective-C开销.因此,如果我在Carbon中编写应用程序,那么它的性能将会大大改善.
现在我很想得出结论,Objective-C是一种表现不佳的语言,尽管Cocoa似乎效率非常高,因为它显然可以比Objective-C发送消息更快地绘制.
那么,Objective-C真的是一种表现不佳的语言吗?你觉得怎么样?
在其他语言(ruby,python,...)我可以使用zip(list1, list2)这样的工作:
如果list1 is {1,2,3,4}和list2 is {a,b,c}
然后zip(list1, list2)会回来:{(1,a), (2,b), (3,c), (d,null)}
这种方法在.NET的Linq扩展中是否可用?
我在显示FolderBrowserDialog时随机获取InvalidCastException,并且许多客户端都报告了此情况.
我无法在互联网上找到任何相关内容.有谁知道是什么导致这个/如何解决这个问题?
我的代码:
using (FolderBrowserDialog fbd = new FolderBrowserDialog())
{
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() == DialogResult.OK)
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
Error: System.InvalidCastException:
'Unable to cast object of type 'System.__ComObject' to type 'IMalloc'.'.
Stack trace:
at System.Windows.Forms.UnsafeNativeMethods.Shell32.SHGetMalloc(IMalloc[] ppMalloc)
at System.Windows.Forms.FolderBrowserDialog.GetSHMalloc()
at System.Windows.Forms.FolderBrowserDialog.RunDialog(IntPtr hWndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog(IWin32Window owner)
at System.Windows.Forms.CommonDialog.ShowDialog()
Run Code Online (Sandbox Code Playgroud)
编辑:附加信息:我只能在VS2008调试器中运行时才能重现这一点.
当用完调试器时,它在我的64位Windows 7上很少发生(在6个月内发生过一次或两次),并在重启后消失.
客户端肯定没有在调试器中运行应用程序,所以它肯定可以从调试器中重现.
有一段时间了,我和我的团队一直在Web服务外观(使用WCF)中包装数据访问层并从业务逻辑层调用它.同时,我们可以简单地使用存储库模式,其中业务逻辑层通过接口在本地消耗数据访问层,并且在任何时间点,我们都可以切换它以使其命中服务(如果需要).
问题是:什么时候将数据访问层包装在服务外观中,什么时候不是?现在,似乎主要优势是其他应用程序可以使用该服务,但如果它们是用.NET编写的内部应用程序,那么它们只能使用.NET程序集.将DAL包含在我不知道的服务中还有其他优点吗?
我需要写一个文本文件来记录一组分数.每次我写入文本文件时,它都会覆盖文件中最初的内容.有人能告诉我如何不让它覆盖那里或者如何让它开始在空白区域写作吗?
那是在说些什么.这是基于Maps API v3中的Google地图示例.
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Directions</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var myOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}
function render() {
var start;
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
start = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation();
} …Run Code Online (Sandbox Code Playgroud) 我正在实现一个用户可以操作设置距离的UISlider.我从未使用过CocoaTouch UISlider,但是使用过其他框架滑块,通常有一个变量用于设置"step"和其他"helper"属性.
UISlider的文档仅处理最大值和最小值,输出始终为6十进制浮点数,与"滑块nob"的位置成线性关系.我想我将不得不一步一步地实现所需的功能.
对于用户来说,最小/最大值的范围从10米到999公里,我试图以指数方式实现这一点,这对用户来说是自然的.即,用户体验到对价值的控制感,无论大小.此外,"输出"具有合理的价值.值如10m 200m 2.5km 150 km等而不是1.2342356 m或108.93837756 km.
我希望步长增加10米,前200米,然后可能是50米到500米,然后当通过1000米时,它开始处理公里,所以它的步长= 1公里直到50公里,然后可能25公里步等.
无论如何,我最终会进行大量的舍入和大量的计算,包含在for语句和NSString/Number转换中,每次用户移动滑块一点点.
我希望有人能借给我一些灵感/数学帮助,或者让我意识到一种更精益的方法来解决这个问题.
我的最后一个想法是用100个字符串值填充和数组,然后让滑块int值对应一个字符串,这不是很灵活,但可行.
提前感谢您给予的任何帮助:)
现在我想使用cw代码段(代码片段Console.WriteLn).我打字cw,Tab,Tab.
这是正确的(最快的!)方式吗?如果有一些方法只需要按Tab键一次或任何其他键,我会很高兴知道它.
我几个月前检查了MVC并没有真正得到它...但最近我已经成为一个更好的程序员我认为这是有道理的..这是我的理论..告诉我,如果我做对了
在微软Devs的90年代,我们有Classic ASP.这在同一页面上混合了VBscript和HTML.因此,您需要自己创建所有HTML并混合使用HTML和VBScript.这不被认为是理想的.然后.NET出现了,每个人都喜欢它,因为它类似于事件驱动的VB 6风格编程.它创建了绑定数据到ASP Servier控件的抽象.它使得枚举数据很容易在屏幕上显示一行.然后最近Jquery和SOA概念混合在一起.现在人们认为..当我可以直接使用.NET作为数据提供者并使用jquery AJAX调用来获取数据并使用它创建HTML时,为什么要创建这个额外的抽象层直接..不需要Webforms抽象层..
Sowe又像1999年那样直接创建HTML.
因此,MVC就是说停止假装像WEb编程是一个VB6应用程序!直接生成HTML!
我错过了什么吗?
所以我想知道..对于你们那些使用MVC的人们...这种事情一旦你习惯了它你永远不想回到webforms吗?
c# ×3
.net ×2
linq ×2
.net-2.0 ×1
append ×1
asp.net ×1
asp.net-mvc ×1
cocoa ×1
drawing ×1
file ×1
google-maps ×1
iphone ×1
javascript ×1
objective-c ×1
oop ×1
performance ×1
uislider ×1
vb6 ×1
wcf ×1
webforms ×1
winforms ×1