Tag: C#的

我们可以有多less级别的指针?

在一个variables中允许多less个指针( * )? 我们来看下面的例子。 int a = 10; int *p = &a; 同样我们可以有 int **q = &p; int ***r = &q; 等等。 例如, int ****************zz;

企业图书馆Unity与其他IoC容器

使用Enterprise Library Unity与其他IoC容器(Windsor,Spring.Net,Autofac ..)有什么优点和缺点?

什么C?!??! 运营商呢?

我看到一行C,看起来像这样: !ErrorHasOccured() ??!??! HandleError(); 它编译正确,似乎运行良好。 它似乎正在检查是否发生错误,如果有,它会处理它。 但是我不确定它究竟在做什么或者它是如何做的。 看起来程序员正在试图expression他们对错误的感受。 我从来没有见过??!??! 之前在任何编程语言,我无法find任何地方的文档。 (谷歌没有帮助search条件,如??!??! )。 它是做什么的,代码示例如何工作?

出生datevalidation不断显示

我正在input一个DOB – 22/12/1986到我的文本框中,validation不断发射。 它说: The field DOB must be a date. 我的模特 : [System.ComponentModel.DisplayName("DOB")] [DisplayFormat(DataFormatString = "@{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] [Required(ErrorMessage = "Date Of Birth is required")] [RegularExpression(@"{0:dd/MM/yyyy}", ErrorMessage = "Invalid Date")] // below is a link public DateTime DOB { get; set; } 我的观点 : <div class="form-group"> @Html.LabelFor(model => model.DOB, htmlAttributes: new { @class […]

C#TcpClient:使用分隔符发送序列化的对象?

基于序列化(在这里提到https://stackoverflow.com/a/7849374/985798 )我正在尝试重新构build我的小型TCP应用程序,直到现在使用string消息。 但是我遇到了一个小问题,我想知道你会推荐我使用什么解决scheme: 如果我试图在一个很小的时间间隔内发送多个消息,它们将被合并到“队列”中,客户端将同时收到两个消息,最终会得到一个单独的对象。 在过去,我用一个string分隔符“| end |”解决了这个问题 我能够分割它并在foreach循环中处理它。 这是一个好方法吗? 你将如何解决基于序列化的对象字节数组的问题? 你会使用一个byte[]分隔符或使用另一种解决scheme?

函数没有定义错误,而使用asp.net ajax

我想通过以下代码通过asp.net ajax调用Web服务 namespace MCTS70515AJAX { public static class HR { public static int GetEmployeeCount(string department) { int count = 0; switch (department) { case "Sales": count = 10; break; case "Engineering": count = 28; break; case "Marketing": count = 44; break; case "HR": count = 7; break; default: break; } return count; } } 这是我正在渲染的aspx页面 […]

重构代码以避免反模式

我有一个BusinessLayer项目,它具有以下代码。 域对象是FixedBankAccount(它实现了IBankAccount)。 该存储库是作为域对象的公共属性,并作为接口成员。 如何重构它,使存储库不会是一个接口成员 ? 域对象(FixedBankAccount)直接使用存储库来存储数据。 这是否违反单一责任原则? 如何纠正? 注意:存储库模式是使用LINQ to SQL实现的。 编辑 下面给出的代码是更好的方法吗? https://codereview.stackexchange.com/questions/13148/is-it-good-code-to-satisfy-single-responsibility-principle 码 public interface IBankAccount { RepositoryLayer.IRepository<RepositoryLayer.BankAccount> AccountRepository { get; set; } int BankAccountID { get; set; } void FreezeAccount(); } public class FixedBankAccount : IBankAccount { private RepositoryLayer.IRepository<RepositoryLayer.BankAccount> accountRepository; public RepositoryLayer.IRepository<RepositoryLayer.BankAccount> AccountRepository { get { return accountRepository; } set { accountRepository […]

生成非重复的随机数字

我想在C中创build一个函数。它将返回一个范围为N的随机整数,如: – rand()%N; 但事情是我想跟踪唯一性。 我不希望数字重复。 但我也可以做一个数组,并复制生成的整数。 如: – array[count] = rand() % N; 并每次检查生成的数字是否已经在里面。 (只需通过在数组[]中search它); 这是一个简单的方法,但是一个正确的方法。 它会采取很多如果和为了; 为此工作。 这是我能想到的最好的。 事情是,我想为这个问题得到最好的/优化的解决scheme。 什么将是最有效的方式来做到这一点? 让我们清除一些事情: – 我想从一个总是唯一的NSArray中设置一个UILabel文本。 我的NSArray从Plist获取数据,而我的Plist有超过1000个条目。 如果我想多次这样做会影响性能,所以我想要一些有效的方法来做到这一点。

OLEDB参数化查询

public void LoadDB() { string FileName = @"c:\asdf.accdb"; string query = "SELECT ID, Field1 FROM Table1 WHERE ID=? AND Field1=?"; string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName; OleDbConnection odc = new OleDbConnection(strConn); dAdapter = new OleDbDataAdapter(); OleDbCommand cmd = new OleDbCommand(query,odc); cmd.Parameters.Add("?", OleDbType.Integer, 5).Value = 1234; cmd.Parameters.Add("?", OleDbType.BSTR, 5).Value ="asdf"; dAdapter.SelectCommand = cmd; ds = […]

集合属性的XML反序列化与代码默认值

对于应用程序configuration,我经常会创build一个具有应用程序configuration值的configuration类,然后将其反序列化为要使用的对象。 configuration对象通常是数据绑定到用户界面控件,以便用户可以更改和保存configuration。 configuration类通常具有分配给属性的默认值,所以始终存在默认configuration。 这工作得很好。 我最近有一个情况,我有一个提供一些默认path信息的string列表。 而我所看到的让我意识到我并不完全知道如何在XML反序列化过程中将对象属性填充到对象中。 所以我创build了一个简单的例子来显示行为。 以下是一个简单的类,有一些代码默认的属性。 [Serializable] public class TestConfiguration { public String Name { get { return mName; } set { mName = value; } }private String mName = "Pete Sebeck"; public List<String> Associates { get { return mAssociates; } set { mAssociates = value; } } private List<String> mAssociates = new […]