Jim*_*988 0 c# string entity-framework
我正在为我的C#.NET项目准备一个实体框架模型(CODE FIRST).我突然意识到我将把PageTitles存储为字符串,除了可用的最大和最小位之外没有长度限制.
我假设如果我知道一个字符串长度为255个字符并且永远不会超过该字符串,我可以将我的字符串声明为新的字符[255].
使用char而不是string的缺点是什么.使用char代替字符串有什么好处.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ContentManagementSystem.Models
{
public class Page
{
int Id { get; set; }
string PageTitle { get; set; }
// This seems wasteful and unclear
char[] PageTitle = new char[255];
// How would i apply { get; set; } to this?
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法限制字符串大小?
--------------- ANSWERED ---------------------
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
namespace ContentManagementSystem.Models
{
public class Page
{
public int Id { get; set; }
[MaxLength(255)] public string Title { get; set; }
[MaxLength(255)] public string Description { get; set; }
public string Content { get; set; }
}
public class MyDbContext : DbContext
{
public DbSet<Page> Pages { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
不,char[]当您打算将其作为字符串进行操作时,不应使用a .为什么?string如果使用字符数组,Beacuse 有很多有用的方法.角色阵列的性能优势(如果有的话)将极其微小.