C# vs C

I'm finding massive performance differences between similar code in C anc C#. The C code is: #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %fn", ((double)clock() - start) / CLOCKS_PER_SEC); } An

C#vs C

我发现C和C#中的类似代码之间存在巨大的性能差异。 C代码是: #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %fn", ((double)clock() - start) / CLOCKS_PER_SEC); } 而C#(控制台应用程序)是: using Syste

C# internal static extern with InternalCall attribute

In another question I asked, a comment arose indicating that the .NET framework's Array.Copy method uses unmanaged code. I went digging with Reflector and found the signature one of the Array.Copy method overloads is defined as so: [MethodImpl(MethodImplOptions.InternalCall), ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] internal static extern void Copy(Array sourceArray

带有InternalCall属性的C#内部静态外部

在我问的另一个问题中,出现了一条评论,指出.NET框架的Array.Copy方法使用非托管代码。 我使用Reflector进行挖掘,发现Array.Copy方法重载的签名之一定义如下: [MethodImpl(MethodImplOptions.InternalCall), ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] internal static extern void Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length, bool rel

Are primitive constructor parameters a bad idea when using an IoC Container?

Standard newbie disclaimer: I'm new to IoC and am getting mixed signals. I'm looking for some guidance on the following situation please. Suppose I have the following interface and implementation: public interface IImageFileGenerator { void RenameFiles(); void CopyFiles(); } public class ImageFileGenerator : IImageFileGenerator { private readonly IList<IImageLink> _

在使用IoC容器时,原始构造函数参数是一个坏主意吗?

标准新手免责声明:我是IoC新手,收到混合信号。 我正在寻找一些关于以下情况的指导。 假设我有以下接口和实现: public interface IImageFileGenerator { void RenameFiles(); void CopyFiles(); } public class ImageFileGenerator : IImageFileGenerator { private readonly IList<IImageLink> _links; private readonly string _sourceFolder; private readonly string _destinationFolder;

The best way to organize work with database

I wonder what is the best way to organize working with database from C# code. I used to have different approaches for that: Each object has Save, Update and Delete methods, which implemented all the logic. There was some static class that has static methods Get, GetList, Update -- almost the same method as previous, but database logic was extracted from data domain class. Now I think it w

组织数据库工作的最佳方式

我想知道组织使用C#代码处理数据库的最佳方式是什么。 我曾经有过不同的方法: 每个对象都有Save,Update和Delete方法,它们实现了所有的逻辑。 有一些静态类具有静态方法Get,GetList,Update - 几乎与以前一样,但数据库逻辑是从数据域类中提取的。 现在我认为为每个需要存储在某个地方的datadomain类设置一些非静态类,这将会非常棒,它将完成存储。 什么是最好的方式来做到这一点? 有没有好的库提供良好的API

Dependency inversion. Object creation

According to SOLID principles a class cannot depend on other classes, dependencies have to be injected. It's simple: class Foo { public Foo(IBar bar) { this.bar = bar; } private IBar bar; } interface IBar { } class Bar: IBar { } But what if I want my Foo class to be able to create Bar's, not knowing the exact implementation behind IBar? I can think of 4 so

依赖倒置。 对象创建

根据SOLID原则,类不能依赖其他类,必须注入依赖关系。 这很简单: class Foo { public Foo(IBar bar) { this.bar = bar; } private IBar bar; } interface IBar { } class Bar: IBar { } 但是如果我想让我的Foo类能够创建Bar,不知道IBar背后的具体实现是什么? 我可以在这里想到4个解决方案,但它们都有缺点: 注入物体的类型并使用反射 使用泛型 使用“服务定位器”并调用Resolve()方

Use of BAL in 3 tier architecture?How to call methods from DAL to BAL

I am a newbie to 3 tier architecture and below is my DAL code public static int Insert(string firstname, string lastname, DateTime dob, string gender,string email, string password) { // bool flag = false; SqlParameter pid; SqlParameter result; SqlConnection con = Generic.DBConnection.OpenConnection(); try { SqlCommand cmd1 = new

在三层架构中使用BAL?如何从DAL调用方法到BAL

我是3层体系结构的新手,下面是我的DAL代码 public static int Insert(string firstname, string lastname, DateTime dob, string gender,string email, string password) { // bool flag = false; SqlParameter pid; SqlParameter result; SqlConnection con = Generic.DBConnection.OpenConnection(); try { SqlCommand cmd1 = new SqlCommand("Insertreg

Inversion of Control with .net

It's rare that I hear someone using Inversion of Control (Ioc) principle with .Net. I have some friends that work with Java that use a lot more Ioc with Spring and PicoContainer. I understand the principle of removing dependencies from your code... but I have a doubt that it's so much better. Why do .Net programmers not use (or use less) those types of frameworks? If you do, do you

.net的控制反转

我很少听到有人在.Net中使用Inversion of Control(Ioc)原理。 我有一些与Java一起工作的朋友,他们在Spring和PicoContainer中使用了更多的Ioc。 我理解从你的代码中去除依赖的原则......但是我怀疑它好多了。 为什么.Net程序员不使用(或少用)这些类型的框架? 如果你这样做,你是否真的从长远的角度看到了积极的影响? 许多人在.NET中使用IOC,并且有几个框架可用于协助使用IoC。 你可能在WinForms方面看不到它,因

Why can a .NET delegate not be declared static?

When I try to compile the following: public static delegate void MoveDelegate (Actor sender, MoveDirection args); I receive, as an error: "The modifer 'static' is not valid for the this item." I'm implementing this within a singleton, with a separate class which calls the delegate. The problem is that when I use the singleton instance within the other class to call the

为什么.NET委托不能被声明为静态?

当我尝试编译以下内容时: public static delegate void MoveDelegate (Actor sender, MoveDirection args); 我收到,作为错误:“修饰'静态'是无效的这个项目。” 我在一个单例中实现了这个功能,并有一个独立的类调用委托。 问题是,当我使用另一个类中的单例实例来调用委托(来自标识符,而不是类型)时,我无论如何都不能这样做,即使我声明委托非静态。 显然,只有当委托是静态的,我才能直接通过类型来引用它

Help me pick a Dependency Injection framework for .Net

Possible Duplicate: Which C#/.NET Dependency Injection frameworks are worth looking into? Yes I know this question has been asked many times, but the various frameworks keep evolving, so I would like a fresh answer on the subject. A few thoughts about the framework, they are not necessary black or white, but rather my preferences. Things I like: Convention based registrations Construc

帮助我为.Net选择一个依赖注入框架

可能重复: 哪些C#/ .NET依赖注入框架值得研究? 是的,我知道这个问题已被多次提出,但各种框架不断发展,所以我想就这个问题提供一个全新的答案。 关于框架的一些想法,他们不是必要的黑色或白色,而是我的偏好。 我喜欢的东西: 基于公约的注册 建设者注入 也可以定位Silverlight 占地面积小 一个组件 快速 事情我不喜欢: XML 自定义属性 服务定位器模式 我不认为的事情: LINQ 开源

C# Dependency Injection frameworks

Possible Duplicate: Which .NET Dependency Injection frameworks are worth looking into? Hi, As a new kid in the C#/.NET block just moved in from Java neighbourhood, I am looking for options in Dependency Injection/IoC frameworks for .NET/C#. From Scott Hanselman's blog post few years ago I got a fairly long list of DI frameworks, but there was really not enough information to go with b

C#依赖注入框架

可能重复: 哪些.NET依赖注入框架值得研究? 嗨, 作为C#/ .NET模块中的一个新成员,我刚刚从Java附近迁入,我正在寻找.NET / C#的依赖注入/ IoC框架中的选项。 从几年前的Scott Hanselman的博客文章中,我得到了一个相当长的DI框架列表,但实际上没有足够的信息去追踪列表本身(加上许可证和版本号)以做出任何半智能选择。 我也没有开发出任何这些相对受欢迎程度(从而社区支持可用)的最佳值。 这份名单本身可以