C# icient方法将取决于“特殊”的含义。您应该跟踪/分析您的数据库,并查看sql端的查询结果。然后你可以决定它是否有效。除了数字,是什么让一个字符在这种情况下“特别”。一个大的效率问题是正确匹配字符,但最有效的方法将取决于“特殊”的含义。编辑+1。除了他的

C# icient方法将取决于“特殊”的含义。您应该跟踪/分析您的数据库,并查看sql端的查询结果。然后你可以决定它是否有效。除了数字,是什么让一个字符在这种情况下“特别”。一个大的效率问题是正确匹配字符,但最有效的方法将取决于“特殊”的含义。编辑+1。除了他的,c#,linq-to-sql,C#,Linq To Sql,icient方法将取决于“特殊”的含义。您应该跟踪/分析您的数据库,并查看sql端的查询结果。然后你可以决定它是否有效。除了数字,是什么让一个字符在这种情况下“特别”。一个大的效率问题是正确匹配字符,但最有效的方法将取决于“特殊”的含义。编辑+1。除了他的“检查第一个字符”条件仍然会拉入所有行。我想会的,但这是一个开始:)。正如我们都说过的,他需要使用分析器,然后从那里继续。编辑+1。除了他的“检查第一个字符”条件仍然会拉入所有行。我想会的,但这是一个开始:)。正如我们都说过的,他需要使用分析器


icient方法将取决于“特殊”的含义。您应该跟踪/分析您的数据库,并查看sql端的查询结果。然后你可以决定它是否有效。除了数字,是什么让一个字符在这种情况下“特别”。一个大的效率问题是正确匹配字符,但最有效的方法将取决于“特殊”的含义。编辑+1。除了他的“检查第一个字符”条件仍然会拉入所有行。我想会的,但这是一个开始:)。正如我们都说过的,他需要使用分析器,然后从那里继续。编辑+1。除了他的“检查第一个字符”条件仍然会拉入所有行。我想会的,但这是一个开始:)。正如我们都说过的,他需要使用分析器,然后从那里继续。
public List<User> GetUsersStartingWithNonCharacter()
{
   List<User> _dbUsers = this.GetAllUsers();
   return _dbUsers.Where(p => ((p.FirstName != null && p.FirstName != string.Empty && !char.IsLetter(p.FirstName.ToLower()[0])) || (p.FirstName == null || p.FirstName == string.Empty))).ToList();
}

public List<Users> GetAllUsers()
{
    return (from u in _context.pu_Users
            where !u.Is_Deleted
            select new User
            {
                UserId = u.User_Id,
                Email = u.Email_Address,
                FirstName = u.First_Name,
                LastName = u.Last_Name
            }).ToList();
}
public List<User> GetUsersStartingWithNonCharacter()
{
   List<User> _dbUsers = this.GetAllUsers();
   return _dbUsers.Where(p => ((p.FirstName != null && p.FirstName != string.Empty && !char.IsLetter(p.FirstName.ToLower()[0])) || (p.FirstName == null || p.FirstName == string.Empty))).ToList();
}

public IQueryable<Users> GetAllUsers()
{
    return from u in _context.pu_Users
            where !u.Is_Deleted
            select new User
            {
                UserId = u.User_Id,
                Email = u.Email_Address,
                FirstName = u.First_Name,
                LastName = u.Last_Name
            };
}
 return _dbUsers.Where(p=>p.FirstName!=String.Empty)
                . Where(p => Regex.Match(p.Firstname[0].ToString(), "[a-zA-Z]").Success).ToList();
char.IsLetter(p.FirstName.ToLower()[0])