• 关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目


    关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目,请大家鉴定,不足之处,敬请指教!

    第1到3题解答如下:

        public enum QuestionType
        {
            Text = 0,
            MultipleChoice = 1
        }
    
        public interface IQuestion
        {
            string Title { get; set; }
            QuestionType Category { get; }
    string GetAnswer(); }
    public abstract class QuestionBase : IQuestion { public string Title { get; set; } public abstract QuestionType Category { get; } public virtual string GetAnswer() { return "默认答案"; } } public class TextQuestion : QuestionBase { public override QuestionType Category { get { return QuestionType.Text; } } public override string GetAnswer() { return "文本答案"; } } public class MultipleChoiceQuestion : QuestionBase { public override QuestionType Category { get { return QuestionType.MultipleChoice; } } public override string GetAnswer() { return "单选答案"; } }

    第4题:

        public class Product
        {
            public string Name { get; set; }
            public string IsDeleted { get; set; }
        }
    
        public static class ProductExtension
        {
            public static IQueryable<Product> WhereNotDeleted(this IQueryable<Product> query)
            {
                return query.Where(p => p.IsDeleted != "");
            }
        }
    
        public class ProductService
        {
            public List<Product> GetActiveProducts(IQueryable<Product> query)
            {
                return query.WhereNotDeleted().ToList();
            }
        }

    第5

    select T1.Name,T2.[Year],T2.[Month],T2.InCome from [User] as T1 inner join
    (select UserId,[Year],[Month],COUNT(Amount) AS InCome from InCome group by UserId,[Year],[Month]) as T2
    on T1.Id=T2.UserId
    order by T2.UserId,T2.[Year],T2.[Month]

    select T1.Name,T2.[Year],T2.[Month],COUNT(T2.Amount) AS InCome from [User] as T1 
    inner join InCome as T2 on T1.Id=T2.UserId
    group by T1.Name,T2.[Year],T2.[Month] order by T1.Name,T2.[Year],T2.[Month]

    第6题:

        public class User
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    
        public class Income
        {
            public int Id { get; set; }
            public int UserId { get; set; }
            public decimal Amount { get; set; }
            public int Year { get; set; }
            public int Month { get; set; }
        }
    
        public class UserIncomeDto
        {
            public string Name { get; set; }
            public int Year { get; set; }
            public int Month { get; set; }
            public decimal Income { get; set; }
        }
    
        public class UserIncomeService
        {
            public List<UserIncomeDto> GetUserIncomeDtos(IQueryable<User> users, IQueryable<Income> incomes)
            {
                var resultList = (from u in users
                              join newic in
                                  (from ic in incomes
                                   group ic by new { ic.UserId, ic.Year, ic.Month } into gp
                                   select new { gp.Key, InCome = gp.Sum(g => g.Amount) })
                                  on u.Id equals newic.Key.UserId
                        orderby newic.Key
                        select new UserIncomeDto() { Name = u.Name, Year = newic.Key.Year, Month = newic.Key.Month, Income = newic.InCome }).ToList();
    
                return resultList;                             
            }
        }

    第7

    改HTML:

    <form action="/admin/mobile/user/login" method="POST">
        <input type="text" placeholder="username" name="username" />
        <input type="password" placeholder="password" name="password" />
        <input type="submit" value="login" />
    </form>

    改路由:

                routes.MapRoute("UserLogin",
                                "~/admin/mobile/{controller}/{action}",
                                new { controller = "User", action = "Login" });

    第8题:

        public class Product1
        {
            public string Name { get; set; }
            public string Description { get; set; }
    
            public void Validate1()
            {
                if (string.IsNullOrEmpty(this.Name))
                {
                    throw new Exception("please enter a name for the product");
                }
                if (string.IsNullOrEmpty(this.Description))
                {
                    throw new Exception("product description is required");
                }
            }
    
            public void Validate2()
            {
                this.Require(x => x.Name, "please enter a name for the product");
                this.Require(x => x.Description, "product description is required");
            }
    
            public void Require(Expression<Func<Product1, string>> expression, string errorMessage)
            {
                Func<Product1, string> func = expression.Compile();
    
                if (string.IsNullOrEmpty(func(this)))
                {
                    throw new Exception(errorMessage);
                }
            }
        }
    
        public class TestProgram
        {
            public static void Main()
            {
                Product1 product1 = new Product1();
                try
                {
                    product1.Validate2();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Console.Read();
            }
        }

     更多IT相关的文章,欢迎光临我的个人网站:http://www.zuowenjun.cn/

  • 相关阅读:
    各系统添加根证书
    Nginx浏览目录配置及美化
    django-图形验证码(django-simple-captcha)
    django-manage.py参数
    js — 对象
    js — 数组Array
    js — 字符串
    js — 基础知识
    css — 定位、背景图、水平垂直居中
    css — 权重、继承性、排版、float
  • 原文地址:https://www.cnblogs.com/zuowj/p/4118404.html
Copyright © 2020-2023  润新知