草庐IT

存储算法

全部标签

c# - 在数据库中存储具有公共(public)基类的对象

假设我有一个共同的基类/接口(interface)interfaceICommand{voidExecute();}然后有一些命令继承自这个接口(interface)。classCommandA:ICommand{intx;inty;publicCommandA(intx,inty){...}publicvoidExecute(){...}}classCommandB:ICommand{stringname;publicCommandB(stringname){...}publicvoidExecute(){...}}现在我想用一种通用方法将这些命令存储在数据库中,然后将它们全部从数据

c# - 存储用户设置——使用 "Flags"或 "Bits"而不是一堆 bool 值有什么问题吗?

我正在为我的MVC应用程序设计用户设置,现在我有大约20个用户可以切换的bool值设置。由于每个用户将始终拥有每个设置,因此我正在考虑将每个设置作为bool值存储在用户表中。尽管随着应用程序需求的增长,这会变得笨拙。第一个问题-在这种情况下,在您的表格上放置大量列有什么问题吗?然后我考虑使用标志,并将设置存储为一个数组中的每个位:[Flags]publicenumSettings{WantsEmail=1,WantsNotifications=2,SharesProfile=4,EatsLasagna=8}然后每个用户在他们的用户行中将有一个“设置”列,如果有20个设置,该列存储一个2

c# - .Net 在哪里存储泛型类型的静态字段的值?

下面的代码允许我为每种类型存储一个值T:publicstaticclassMyDict{publicstaticTValue;}我可以存储与类型一样多的值,编译器不知道我将使用什么类型。这些静态字段值如何存储以及存储在何处?更新:明明是存储在内存中的,但是我想了解一下这个内存。是堆吗?它是一些特殊的CLR内存吗?怎么称呼?还以这种方式存储了什么?更新2:JITter生成单个实现MyDict对于MyDict的所有引用类型参数.然而,这些值是分开存储的。我想每个类型参数仍然有一些每个类型参数的结构,虽然thwvtable链接到JITtedMyDict,字段是分开的。我说得对吗?

c# - 值类型存储在 (C#) 泛型集合中的什么位置

的确,对于值类型,泛型集合比非泛型集合表现得更好。(即List与ArrayList)。但为什么会这样,除了装箱-拆箱步骤?一旦添加到集合中,值类型对象存储在哪里?在非泛型集合中,它们会被装箱并存储在堆上,泛型有什么不同? 最佳答案 在泛型中,例如List,它们仍然存储在堆中。不同之处在于,在内部,一个List制作一个整数数组,并可以直接存储数字。使用ArrayList,您最终会存储一个对装箱整数值的引用数组。 关于c#-值类型存储在(C#)泛型集合中的什么位置,我们在StackOverf

c# - 使用 Entity Framework 的输出参数执行 SQL 存储过程

我尝试使用EF执行一个返回单个字符串值(即SQL代理作业的状态)的存储过程。存储过程声明为CREATEPROCEDURE[dbo].[up_GetJobStatus](@JobStatusNVARCHAR(30)OUTPUT)AS--somecodeomittedforbrevitySELECT@JobStatus=(SELECTCASEjob_stateWHEN1THEN'Executing'WHEN2THEN'Waitingforthread'WHEN3THEN'Betweenretries'WHEN4THEN'Idle'WHEN5THEN'Suspended'WHEN6THEN'

c# - 在哪里存储简单 .NET 应用程序的配置?

我正在编写一个相当简单的应用程序,我想将其简化为一个简单的EXE文件+一些数据存储(例如XML)。我的问题是关于配置文件的。把那些文件放在哪里?我看到一些应用程序只有一个EXE文件(uTorrent、MediaPlayerClassic-我无需任何安装即可使用它们),但它们将配置存储在其他地方。如何实现?您会如何处理这种情况?是尝试实现我上面描述的事情更好,还是简单地使用配置文件和数据存储在与EXE文件相同的目录中? 最佳答案 在同一文件夹(或App_Data)中创建或使用文件是非常标准的做法。您使用像InnoSetup(免费)这样

c# - LINQ to Entities 无法识别该方法并且无法将此方法转换为存储表达式

我使用EntityFramework在我的数据库中调用某个日期。但是我下面的代码给出了这个错误LINQtoEntities无法识别“SchoolBreifcase.Complianceget_Item(Int32)”方法,并且无法将此方法转换为存储表达式。这是我的完整代码FinancialCompliancefinancialCompliance=newFinancialCompliance();Listcompliance=null;if(HttpContext.Current.User.IsInRole("SchoolAdmin")){compliance=datamodel.Co

c# - 快速算法找到 x 最接近平面上给定点的点

我想找到一种快速算法,以便找到与平面上给定点最近的x个点。我们实际上处理的点并不多(在1,000到100,000之间),但我需要这些点中的每一个点的x个最近点。(其中x通常介于5和20之间。)我需要用C#编写它。关于用例的更多上下文:这些点是map上的坐标。(我知道,这意味着我们并不是在谈论一个平面,但我希望避免处理投影问题。)在端点附近有很多其他点应该显示为红色,没有太多的点靠近它们的点应显示为绿色。在这两个极端之间,点在颜色渐变上。 最佳答案 您需要的是适合组织平面中点的数据结构。K-D-Tree经常用于这种情况。参见k-dtr

c# - 从 C# 中的存储过程返回多个记录集

我必须将ASP经典系统转换为C#我有一个最多可以返回7个记录集的存储过程(取决于传入的参数)。我需要知道如何简单地将所有记录集作为单独的DataTable返回,这样我就可以循环遍历其中的任何内容,当我到达它的末尾时跳到下一个DataTable,而不必运行多个SQL语句并使用多个adapter.Fill语句将每个表添加到数据集中。在经典中,它是一个简单的DoWhilenotobjRS.EOF循环和objRS.NextRecordset(),当我到达循环末尾以移动到下一个语句时。有什么我可以使用的东西不需要完全重写当前的后端代码吗?每个记录集都有不同数量的列和行。它们彼此无关。我们从存储过

c# - 6字符短哈希算法

我的目标是为长度为42个不区分大小写的字母数字字符的字符串生成一个6个字符的短哈希字符串(可能包含字符[A-Z][a-z][0-9])。唯一性是关键要求。安全性或性能并不是那么重要。是否有特定的算法可以给出此结果,或者我应该坚持截断MD5哈希或SHA-1哈希(Likeinthisquestion)?如果是,发生碰撞的概率是多少? 最佳答案 最好的选择是截断众所周知的散列函数(MD5或SHA系列),因为这些算法具有统计上良好的散列值均匀分布(并且还使用完整的散列,而不仅仅是6个字符)。现在一些碰撞概率的计算-Numberoflette