Tag: c#

ADO.Net:从SQL服务器表中获取表定义

我正在使用C#编写一个方法,该方法返回有关表的以下信息:列名,列类型,列大小,外键。 有人能指出我如何实现这个目标吗?

窗口forms的C#透明背景

我已经在winforms上看到了透明背景? 它不能解决我的问题。 我使用相同的方法来尝试实现透明度 public Form1() { this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); InitializeComponent(); this.BackColor = Color.FromArgb(0, 0, 0, 0); } 但这会产生灰色背景,而不是透明的。 如何获得实际透明的背景(注意,透明度键解决方案不提供透明背景,当我使用小于255的alpha通道绘制时,它与设置的表单背景颜色混合,而不是实际背景)? 我想绘制到alpha <255的屏幕的某些区域并与背景(不是表单)混合。

从C#Code调用delphi DLL方法

我试图从C#ASP.NET代码调用Delphi函数。 函数的声明如下所示: function SomeFunction(const someString, SomeOtherString: string): OleVariant; 从我的C#代码我有这个代码: [DLLImport(MyDLL.dll”, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] public static extern object SomeFunction(string someString, string SomeOtherString); 每次我调用此方法并将其存储为对象时,我都会收到P / Invoke错误。 我之前从未调用过C#中的非托管代码,所以我有点不知所措。

是否可以使用Linq和lambdas而不包含System.Linq命名空间?

前段时间,我一直在研究一个相当扭曲的项目 – 我只能在单个范围内编写代码,然后将其放入C#函数(由另一个模块)。 我只能使用之前声明的名称空间(我对它们没有影响)并且只能使用我工作的作用域中的变量。因此,我无法更改标题和包含的库。 当我想操作generics集合时出现问题 – 我既不能使用lambda表达式也不能使用LINQ – 我根本无法using System.Linq; ,因为我无法访问文件头。 我只需做一件简单的事情,没有LINQ或lambda就很容易管理。 但是,之后我想知道会发生什么,如果我不得不在IEnumerable上使用一些更复杂的操作。 从那以后,我的问题出现了: 是否可以在不更改文件头和添加新命名空间的情况下使用LINQ或lambdas? 假设我们有一个List _Numbers = new List(); 。 让它充满一些数字。 现在我想从中选择所有偶数。 using System.Linq; 在标题中,解决方案很明显: List _NewList = _Numbers.Where(n => n % 2 == 0).ToList(); 要么 List _NewList = (from _Number in _Numbers where _Number % 2 == 0 select _Number).ToList(); 但是如果不包含LINQ,我该如何实现呢? 我的第一个猜测是这样的: List […]

匿名类型

我有一个Dictionary(TKey, TValue)类的 Dictionary Deduction_Employees = new Dictionary(); 后来我在这个数组列表中添加了这样的匿名类型 var day_and_type = new { TheDay = myDay, EntranceOrExit = isEntranceDelay }; Deduction_Employees[Employee_ID].Add(day_and_type); 现在我该如何取消对var的访问并访问这些属性?

Linq-to-Entities离开JOIN

这是我的查询: from forum in Forums join post in Posts on forum equals post.Forum into postGroup from p in postGroup where p.ParentPostID==0 select new { forum.Title, forum.ForumID, LastPostTitle = p.Title, LastPostAddedDate = p.AddedDate }).OrderBy(o=>o.ForumID) 目前,Join不是左连接,这意味着如果某个论坛没有属于它的post,则不会返回。 没有post的论坛必须返回post属性的null(或默认)值。 UPDATE 结果集应该是这样的: ForumId | ForumTitle | LastPostTitle | LastPostAddedDate ——–+————+—————+—————— 4 | Sport | blabla | 12/4/2010 4 | Sport […]

定义每个子类定义一次的静态属性的最佳方法是什么?

我编写了以下控制台应用程序来测试静态属性: using System; namespace StaticPropertyTest { public abstract class BaseClass { public static int MyProperty { get; set; } } public class DerivedAlpha : BaseClass { } public class DerivedBeta : BaseClass { } class Program { static void Main(string[] args) { DerivedBeta.MyProperty = 7; Console.WriteLine(DerivedAlpha.MyProperty); // outputs 7 } } } 正如此控制台应用程序演示的那样, MyProperty属性对于所有BaseClass实例都存在一次。 是否有使用的模式允许我定义一个静态属性,该属性将为每个子类类型分配存储? […]

带均衡器的声音

几天后,我正在尝试使用C#创建均衡器。 看过NAudio相当多的时间,但我找不到任何适用于naudio的均衡器。 现在几天后,我终于在@stackoverflow,希望你知道一种使用c#创建均衡器的方法。 PS:我也尝试过System.Media.SoundPlayer。 但SoundPlayer甚至不支持任何与dsp有关的东西。 那么还有另一个音频库可以在外面使用“纯”音频吗?

.Net核心类库的条件编译符号

我创建了一个.Net Core R2类库,它有一些我用于几个不同平台的常用代码。 某些代码在.Net Core平台中无效,因此我希望将其包含在条件编译符号中。 我首先搜索互联网,看看我是否能找到内置符号(如Silverlight应用程序的SILVERLIGHT和Windows 8应用程序的WINFX_CORE),但无法找到任何信息,所以我决定创建自己的符号。 这似乎也不起作用。 从我阅读的所有内容中添加和使用符号应该很简单,只需在Project Properties中为条件编译符号添加一个值即可 构建标签。 我做到了,但似乎确实有效。 这里有几个屏幕截图…… 请注意,我在条件编译符号中添加了一个NET_CORE值,但是当我在代码中使用它时,代码不会被忽略。 1)是否有人知道.Net Core平台是否有内置符号(我使用的是R2)? 2)如果没有,我在创建自己的符号时做错了什么? .xproj文件: 14.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 253184d7-9b42-4233-a871-8cfa3ee9e83e Linq2Db.NetCore .\obj .\bin\ v4.6.1 SAK SAK SAK SAK 2.0 更新:我能够使用提供的答案中的链接解决此问题。 这是细节…… 最初project.json文件看起来像这样…… { “dependencies”: { “NETStandard.Library”: “1.5.0-rc2-24027” }, “frameworks”: { “netstandard1.5”: { “imports”: “dnxcore50” } }, “buildOptions”: { “defines”: [ “NET_CORE” ] } } […]

什么是在.net 2中生成唯一集的最快方法

我有一个基本上是锯齿状的名称值对数组 – 我需要从中生成一组唯一的名称值。 锯齿状arrays约为86,000 x 11值。 对我来说,以什么方式存储名称值对(单个字符串“name = value”或专门的类,例如KeyValuePair)并不重要。 附加信息:有40个不同的名称和更多的不同值 – 可能在10,000个值的区域内。 我正在使用C#和.NET 2.0(并且性能非常差)我认为将整个锯齿状数组推送到sql数据库并从那里做一个不同的选择可能会更好。 以下是我使用的当前代码: List<List<KeyValuePair>> vehicleList = retriever.GetVehicles(); this.statsLabel.Text = “Unique Vehicles: ” + vehicleList.Count; Dictionary<KeyValuePair, int> uniqueProperties = new Dictionary<KeyValuePair, int>(); foreach (List<KeyValuePair> vehicle in vehicleList) { foreach (KeyValuePair property in vehicle) { if (!uniqueProperties.ContainsKey(property)) { uniqueProperties.Add(property, 0); } } } this.statsLabel.Text += […]