小编sta*_*low的帖子

新的"异常过滤器"功能提供了哪些好处?

C#6有一个名为"异常过滤"的新功能

语法是这样的:

catch (Win32Exception exception) when (exception.NativeErrorCode == 0x00042)  
{  
    //Do something here 
}  
Run Code Online (Sandbox Code Playgroud)

我不禁想知道当前的方法有什么好处:

catch (Win32Exception exception)   
{
     if (exception.NativeErrorCode == 0x00042)
     {
          //Do something here 
     }
}
Run Code Online (Sandbox Code Playgroud)

在大括号之前进行过滤是一件大事吗?也许与性能或安全性有关?

c# exception-handling exception c#-6.0

32
推荐指数
5
解决办法
5302
查看次数

使用javascript查找以英寸为单位的屏幕尺寸而非像素

我正在阅读关于SO的许多问题,关于以像素检测屏幕尺寸的最佳方法,这最终取决于找到实际屏幕尺寸的分辨率.

我知道一些移动设备有小屏幕(比如4英寸)但分辨率很高.虽然有些设备有大屏幕(比如7英寸标签),但分辨率很低.

因此,当您想要向用户显示您的页面时,您确实需要以英寸或厘米为单位的屏幕尺寸,以提供舒适眼睛的最佳视图.

所以我问:有没有找到设备的屏幕尺寸,而不是像素?我知道它可以,只要我们知道决议!我们可以根据屏幕宽度和高度来计算尺寸

欣赏任何想法!

javascript jquery screen

15
推荐指数
1
解决办法
9367
查看次数

asp.net身份userName是唯一的吗?

我正在阅读微软的用户身份,并试图在我的MVC5应用程序中应用它们.

据我所知,Id是关键,而userName不是键,定义说它可以为null,所以我问自己......为什么在MVC5项目模板中,当你输入一个已经存在的userName时你会收到错误信息??

我试图达到userName验证,但我不能.

这是数据库定义:

CREATE TABLE [dbo].[AspNetUsers] (
    [Id]            NVARCHAR (128) NOT NULL,
    [UserName]      NVARCHAR (MAX) NULL,
Run Code Online (Sandbox Code Playgroud)

这里是IdentityUser定义,通知(无验证):

namespace Microsoft.AspNet.Identity.EntityFramework
{
    public class IdentityUser : IUser
    {
        public IdentityUser();
        public IdentityUser(string userName);

        public virtual ICollection<IdentityUserClaim> Claims { get; }
        public virtual string Id { get; set; }
        public virtual ICollection<IdentityUserLogin> Logins { get; }
        public virtual string PasswordHash { get; set; }
        public virtual ICollection<IdentityUserRole> Roles { get; }
        public virtual string SecurityStamp { get; set; }
        public virtual string …
Run Code Online (Sandbox Code Playgroud)

c# asp.net validation asp.net-identity

11
推荐指数
2
解决办法
1万
查看次数

关于Javascript中'this'关键字的混淆

对于那些来自C#等语言的人,我可以声称'this'关键字是Javascript中最令人困惑的部分.

我已经在互联网和StackOverflow上阅读了很多相关内容.喜欢这里这里.

我知道'this'关键字将绑定到上下文.并且在构造函数中它将绑定到正在创建的对象,并且当没有直接上下文时,它将绑定到全局对象(即窗口)

我知道这一切,但是混乱还没有完全清除; 所以最好的理解方法是测试代码.


所以我决定编写一些小代码,我对这个this关键字有多复杂感到惊讶.

这是我测试的代码:

 function sayHi(name){
   var tt = name;
   return {
     ss: tt,
     work: function(anotherName){

     alert ("hiiiii    " + anotherName);
   }
 };
}

//this method invocation has no effect at all right now
sayHi("John");


var hi2 = new sayHi("wallace");

hi2.work("May");
alert(hi2.ss);
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,警报窗口将显示(Hiiiiii May)然后(华莱士).现在请注意,该行sayHi("John");根本没有效果.

现在,当我改变一件事时,混乱将开始(改变var tt => this.tt):

 function sayHi(name){
   //this is the ONLY change I did.
   this.tt = name;
   return {
     ss: tt,
     work: function(anotherName){

     alert ("hiiiii    " …
Run Code Online (Sandbox Code Playgroud)

javascript this

7
推荐指数
2
解决办法
252
查看次数

windows phone 8.1 swype键盘事件捕获

更新[2014年7月16日]:问题在技术上是不正确的.阅读答案以获取更多详细信息.


我试图在到达我的文本框之前捕获文本.我发现了以下事实:

  • KeyDown,KeyUp事件将告诉你什么virtualKey被按下而不是角色!!

  • CoreWindow.CharacterReceived将捕获该字符,但此
    事件不是特定于TextBox的,它会
    在到达textBox后告诉您该字符.

现在我的问题是:

任何人都可以告诉我如何在Windows Phone 8.1上捕获Swype键盘的事件? 在此输入图像描述

请注意:

1-我试图在TextBox.Paste中捕获它但它失败了:(

2-事件textBox.textChanged()是不是我期待的BEC该事件火灾键盘完成后,该事件(框TextChanged)会发生火灾后keyDown,keyUp,CharacterReceived无论文本是如何输入.

c# character keyboard-events winrt-xaml windows-phone-8.1

6
推荐指数
1
解决办法
680
查看次数

深入理解延迟加载和处理MVC .net中的错误

我试图写下以下问题的完整详细答案: 为什么"Dispose"工作,而不是"使用(var db = new DataContext())"?

所以我设置了我的项目,包括:

部门和员工使用实体框架

所以我的行动方法是这样的:

public ActionResult Index()
    {

        IEnumerable<department> d;
        using (var ctx = new ApplicationDbContext())
        {

            d = ctx.departments;

        }


        return View(d);
}
Run Code Online (Sandbox Code Playgroud)

很自然地会发现这会导致常见的错误:

The operation cannot be completed because the DbContext has been disposed
Run Code Online (Sandbox Code Playgroud)

当我想解决它时,我做了以下[强制加载而不是轻松加载]:

 public ActionResult Index()
    {

        IEnumerable<department> d;
        using (var ctx = new ApplicationDbContext())
        {

            d = ctx.departments.toList();

        }


        return View(d);
}
Run Code Online (Sandbox Code Playgroud)

所以我试图了解引擎盖下的内容并查看View()方法的返回类型.我达到了以下' 正确 '的假设:

1-在using语句中以延迟加载方式调用模型[d].

2-因此当模型[d]被发送到视图以生成页面时,DbContext已经被using语句的最后一个大括号括起来了.

3-我们通过以急切的加载方式将模型[d]发送到视图来解决这种情况.

然后我继续我的假设被证明是" 错误的 "如下:

4-因为View()方法返回的是ViewResult对象,它也是一个ActionResult ..然后我可以在using语句中生成这个对象,然后将它返回给用户.

所以我做了以下事情:

public ActionResult Index()
    {

        ActionResult myView; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework lazy-loading

5
推荐指数
1
解决办法
1578
查看次数

为什么要在函数及其原型上设置属性?

我试图理解JavaScript的OOP模型,所以我正在阅读这篇文章:https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

以下代码很有趣:

function Person(gender) {
    this.gender = gender;
    alert('Person instantiated');
}

Person.prototype.gender = '';
var person1 = new Person('Male');
var person2 = new Person('Female');
//display the person1 gender
alert('person1 is a ' + person1.gender); // person1 is a Male
Run Code Online (Sandbox Code Playgroud)

有趣而且不清楚的是这一行:

Person.prototype.gender = '';
Run Code Online (Sandbox Code Playgroud)

我不明白所以我用该行测试了代码,没有它.

代码在两种情况下都能正常工作.

所以我的问题是:

为什么作者添加该行?

javascript oop prototype

5
推荐指数
1
解决办法
92
查看次数

检查对象是否是Javascript中的字符串

我正在按照教程建议检查对象是否为字符串而不是空,如下所示:

var s = "text here";
if ( s && s.charAt && s.charAt(0))
Run Code Online (Sandbox Code Playgroud)

据说如果s是字符串,那么它有一个方法charAt然后最后一个组件将检查字符串是否为空.

我尝试用其他可用的方法测试它,比如(typeofinstanceof)使用一些SO问题,这里这里也是!!

所以我决定在Js Bin中测试它:jsbin代码如下:

var string1 = "text here";
var string2 = "";


alert("string1  is " + typeof string1);
alert("string2  is " + typeof string2);


//part1- this will succeed and show it is string
if(string1 && string1.charAt){
  alert( "part1- string1 is string");
}else{
  alert("part1- string1 is not string ");
}


//part2- this will show that it …
Run Code Online (Sandbox Code Playgroud)

javascript string instanceof

5
推荐指数
2
解决办法
2万
查看次数

jQuery 中延迟对象中的resolved 和rejected 是什么意思?

我在这里问了一个问题:如果互联网连接可用,则刷新页面,然后@Fabrizio Calderan 使用延迟对象实现提供了一个非常简洁的解决方案,如下所示:

setInterval(function() {
    $.when(
        $.ajax({ 
            url  : "/favicon.ico", /* or other resource */
            type : "HEAD"
        })
    )
    .done(function() {
        location.reload();
    });
}, 120000); /* 120000 ~> 2 minutes */
Run Code Online (Sandbox Code Playgroud)

我的问题是:

因为 ajax 调用将返回 jqXHR ;如果ajax调用失败怎么办?那么ajax的返回类型是什么?仍然是 jqXHR 或 UNDEFINED 或 NULL

并且由于ajax的调用将返回jqXHR,它是一个延迟对象;我可以得出以下结论吗:

延迟对象已解析 ==> jqXHR

或被拒绝==>未定义

问候

javascript ajax jquery jquery-deferred

4
推荐指数
1
解决办法
917
查看次数

windows phone 8.1文本框字符virtualKey验证

即时通讯windows phone 8.1应用程序.在文本框中,我想阻止用户仅输入任何非数字字母[0-9].

所以这是我的代码:

 private void NumKeyDown(object sender, KeyRoutedEventArgs e)
        {

           bool isNumber = (e.Key == Windows.System.VirtualKey.Number0 ||
                 e.Key == VirtualKey.Number1 ||
                 e.Key == VirtualKey.Number2 ||
                 e.Key == VirtualKey.Number3 ||
                 e.Key == VirtualKey.Number4 ||
                 e.Key == VirtualKey.Number5 ||
                 e.Key == VirtualKey.Number6 ||
                 e.Key == VirtualKey.Number7 ||
                 e.Key == VirtualKey.Number8 ||
                 e.Key == VirtualKey.Number9 ||
                 e.Key == VirtualKey.Back);

            CoreVirtualKeyStates shiftState = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift);


            bool shiftIsNotDown = true;
            if ((shiftState & CoreVirtualKeyStates.Down) == CoreVirtualKeyStates.Down)
                shiftIsNotDown = false;

            e.Handled = !(isNumber && shiftIsNotDown);

        } …
Run Code Online (Sandbox Code Playgroud)

c# keyboard winrt-xaml windows-phone-8.1

4
推荐指数
1
解决办法
4101
查看次数

调试python时的vscode工作目录

我有一个关于在vscode上调试python脚本的简单问题。

当我在包含多个子目录的vs代码上打开父目录时,然后从这些子目录中打开多个python文件。

然后,我尝试调试这些文件。

问题是,从launch.json将cwd设置为父文件夹。但是我现在在子文件夹中运行脚本。然后从子文件夹跳到子文件夹。

因此,时不时更改“ cwd”:“ workspaceRoot”对我来说不切实际

有没有一种方法,调试器将始终使用调试脚本文件的当前文件夹作为当前目录?

PS这个问题没有帮助我stackoverfollow问题

python debugging getcwd visual-studio-code

3
推荐指数
2
解决办法
1355
查看次数

如果连接如何使用javascript刷新页面?

我有一个网页,我希望它每2分钟刷新一次,使用以下代码:

location.reload();
Run Code Online (Sandbox Code Playgroud)

问题是我假设用户已连接; 但如果发生了他/她没有在线连接,页面将失败并给出默认浏览器(没有连接错误页面); 并且除了用户手动之外,页面永远不会刷新

我可以包括ping机制来决定是否刷新天气?

javascript jquery page-refresh

2
推荐指数
1
解决办法
3079
查看次数

从ObservableCollection &lt;T&gt;中删除重复项

我有一个 ObservableCollection<DateTime> myItems

并且有一些重复的项目需要删除

我尝试使用:

myItems = myItems.Distinct();
Run Code Online (Sandbox Code Playgroud)

但是我无法建立它并收到此错误:

错误1无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'System.Collections.ObjectModel.ObservableCollection'。存在显式转换(您是否缺少演员表?)

当我检查ObservableCollection时,我发现它是IEnumerable<T>以下“转到定义”所示:

public class ObservableCollection<T> : Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged

public class Collection<T> : IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
Run Code Online (Sandbox Code Playgroud)

所以我尝试投射如下:

myItems = (ObservableCollection<DateTime>) myItems.Distinct();
Run Code Online (Sandbox Code Playgroud)

它构建良好,没有错误;但在运行时会引发以下错误:

mscorlib.ni.dll中发生类型'System.InvalidCastException'的异常,但未在用户代码中处理。其他信息:无法转换类型'd__81 1[System.DateTime]' to type 'System.Collections.ObjectModel.ObservableCollection1 [System.DateTime]'的对象。

我还尝试了以下方法:

myItems = (ObservableCollection<DateTime>) myItems.Distinct().toList<DateTime>();
Run Code Online (Sandbox Code Playgroud)

但随后我再次看到以下编译时错误:

错误1无法将类型'System.Collections.Generic.List'转换为'System.Collections.ObjectModel.ObservableCollection'

我在这里想念什么?以及如何从ObservableCollection中删除重复项?

c# linq observablecollection

0
推荐指数
1
解决办法
5340
查看次数