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

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

第1到3题解答如下:

    public enum QuestionType
{
Text = ,
MultipleChoice =
} 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/

上一篇:啰里吧嗦jvm


下一篇:在个人博客中优雅的使用Gitalk评论插件