小编Bac*_*ave的帖子

Unicode与UTF-8

我相信Windows目前默认为"Unicode"的UTF-16,但未来可能不会这样.

出于这个原因,使用它会更好

[System.Text.Encoding]::UTF8.GetString($someByteArray)
Run Code Online (Sandbox Code Playgroud)

而不是以下?:

[System.Text.Encoding]::Unicode.GetString($someByteArray)
Run Code Online (Sandbox Code Playgroud)

unicode powershell utf-8 utf-16

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

在 MVC 中为数据模型创建接口

我有一个 MVC 项目,它将通过 HTTP 'Post' 动词接受数据。我热衷于遵循最佳实践,并想就如何最好地设置我的模型提出一个简短的问题。

通常在处理发布的数据时,我会设计我的控制器以使用具体模型。然而,当我想使用 IoC 时,我想确定我是否应该像以前一样继续或者我是否应该创建接口。

我的直觉是,我应该在整个 Web 应用程序中为我的所有模型和类使用接口,以有效地实现 IoC。我只是想得到确认我走在正确的道路上!:o)

例子:

My concrete model

public class PhoneBook : IPhoneBook
{
   public string Firstname {get; set;}
   public string LastName {get; set;}
   public string PhoneNumber {get; set;}
}


My interface

public interface IPhoneBook 
{
   string Firstname {get;set;}
   string Lastname {get;set;}
   string Phonenumber {get;set;}
}

My controller

//Accept posted data from web form
public void Post(IPhoneBook passInDetails)

{
   ... 
}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

c# asp.net asp.net-mvc inversion-of-control visual-studio

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

创建阵列列表

在下面的代码中,是否更有效(在内存和时间方面)List<string>直接创建,而不是在传递给它之前创建string[]和调用ToList()SomeMethod()

如果你创建string[]和调用ToList(),它会创建一个List<string>对象,还有已经拥有string[]

我问的原因是我看到了代码,他们在创建string[]和调用ToList()之前将它作为参数传递给带List<string>参数的方法,我不确定是否有任何特殊原因.

class Program
    {
        static void Main(string[] args)
        {            
            var array = new string[] { "str1", "str2" };
            SomeMethod(array.ToList());
            var list = new List<string> { "str1", "str2" };
            SomeMethod(list);                        
        }

        static void SomeMethod(List<string> list)
        {
            //do stuff
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# arrays list

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

结构只是一个派生自ValueType的类吗?

是不是说结构只是一个继承自System.ValueType的类?

关键字"struct"只是用于编写类的语法糖:System.ValueType在名称后面吗?

如果它只是一个类,那么说并非所有类都是引用类型是正确的,因为结构在技术上是类吗?

c#

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

在Powershell中DateTimeOffset缺少现在的属性

我有这个代码:

$date = New-Object System.DateTimeOffset
$date
Run Code Online (Sandbox Code Playgroud)

输出:

DateTime      : 1/1/0001 12:00:00 AM
UtcDateTime   : 1/1/0001 12:00:00 AM
LocalDateTime : 1/1/0001 11:00:00 AM
Date          : 1/1/0001 12:00:00 AM
Day           : 1
DayOfWeek     : Monday
DayOfYear     : 1
Hour          : 0
Millisecond   : 0
Minute        : 0
Month         : 1
Offset        : 00:00:00
Second        : 0
Ticks         : 0
UtcTicks      : 0
TimeOfDay     : 00:00:00
Year          : 1
Run Code Online (Sandbox Code Playgroud)

如果Powershell基于.NET,为什么DateTimeOffset对象没有Now属性?在C#中我可以访问它,但不能在Powershell中访问它.我正在使用Powershell 4.0.

powershell

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

IsClass("className")方法?

有没有办法在运行时知道类名是否是一个类?换句话说,是否有某种方法可以告诉您字符串输入是否是.NET类?

c#

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

HttpRequestMessage.CreateErrorResponse() 不存在

我刚刚阅读了有关Web API 模型验证的内容,它有这个示例,但是下面提供的示例代码将无法编译,CreateErrorResponse()因为HttpRequestMessage. 有谁知道为什么?

public class ValidateModelAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (actionContext.ModelState.IsValid == false)
            {
                actionContext.Response = actionContext.Request.CreateErrorResponse(
                    HttpStatusCode.BadRequest, actionContext.ModelState);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

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

Html扩展方法无法在表单中工作

我有以下表格:

@using (Html.BeginForm("Cancel", "Member", FormMethod.Post))
{        
    Html.SubmitButton(); //doesn't work
}
@*@Html.SubmitButton(); //does work*@
Run Code Online (Sandbox Code Playgroud)

扩展方法如下所示:

public static MvcHtmlString SubmitButton(this HtmlHelper helper)
{
    return new MvcHtmlString("<input type = \"submit\" value = \"Cancel\" />");
}
Run Code Online (Sandbox Code Playgroud)

为什么输入元素HTML能够在使用块之外但不在其中生成?

html c# asp.net asp.net-mvc-5

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

"".所有(char.IsNumber)返回True

为什么要"".All(char.IsNumber)回来true?根据方法总结,All()方法:

确定序列的所有元素是否满足条件.

这似乎不太准确,因为序列的所有元素都不满足条件,因为没有元素可以开始.

c# linq

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

IEnumerable&lt;T&gt; 与整数/长整数的协方差

我有以下代码:

class Program
{
    static void Main(string[] args)
    {
        int a = 1;
        long b = a; //This works at runtime.

        IEnumerable<int> ints = new List<int> { 0, 1, 2, 3 };
        IEnumerable<long> longs = ints as IEnumerable<long>; //This returns null at runtime.

        Child child = new Child();
        Parent parent = child; //This works at runtime.

        IEnumerable<Child> children = new List<Child> { new Child() };
        IEnumerable<Parent> parents = children as IEnumerable<Parent>; //This returns non-null at runtime.
    }
}

public class …
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerable casting covariance

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