我以数据的形式来自数据库DataSet.然后我DataSource在做之前将其设置为网格控件DataBind().我想排序DataSet/ DataTable上一列.该列是复杂的,以在数据库中排序,但我希望我可以排序,就像我将排序通用列表,即使用deligate.
这是可能的还是我必须将其转移到不同的数据结构?
编辑我无法得到任何这些答案为我工作,我想因为我使用.Net 2.0.
在我的web.config中,我有标准元素;
<compilation debug="true" defaultLanguage="c#">
Run Code Online (Sandbox Code Playgroud)
我知道我可以在方法上使用[条件("DEBUG")],或者使用一些预编译if语句,如#if DEBUG,但我要找的是内置的.NET框架设置让我知道是否在编译部分设置调试.
我以前看过它但是找不到它或记住它.
经典数据库表设计将包括一个tableId int index(1,1) not null导致自动增加int32 id字段的设计.
但是,给这些数字赋予一些含义可能是有用的,我想知道人们对包含可枚举的表使用Char(4)字段的想法.
具体来说,我在考虑一个具有数据的用户角色表;
"admn" - "Administrator"
"edit" - "Editor".
Run Code Online (Sandbox Code Playgroud)
然后我可以在我的代码中引用这些"代码".
更新
它使编写代码时看到User.IsInRole("管理员"),而不是User.IsInRole(UserRoles.Admin)其中,管理是需要更新/如果你重建你的数据库同步的int更有意义.
鉴于List<int> myValues我知道要订购的是什么,确定是否X在给定列表中的最快方法是什么?
我真的必须编写自己的二分查找吗?
我有一个密码页面,当有人输入错误的密码时,我想简单地挫败蛮力攻击
bool isGoodPassword = (password == expected_password);
lock (this)
{
if (!isGoodPassword)
Thread.Sleep(2000);
}
Run Code Online (Sandbox Code Playgroud)
我希望这将允许所有正确的密码而不会停止,但如果一个用户输入错误的密码,另一个用户的另一个成功密码也将被阻止.但是,锁似乎不是lock跨ASP.NET线程.没有意义.
很抱歉询问看起来像这么明显的问题.
我有一个类型为T的"适配器"泛型类,其中T是一个已定义的接口.我想在该类中创建一个方法,该方法采用不同类型的通用适配器.
public interface ICommon { }
public class TypeOne : ICommon { }
public class TypeTwo : ICommon { }
public class Adapter<T> where T : ICommon
{
void TakeAnotherType(Adapter<S> other)
{ }
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个编译错误Cannot resolve symbol 'S'.
我希望能够做到;
MyOne one = new Adapter<TypeOne>();
MyTwo two = new Adapter<TypeTwo>();
one.TakeAnotherType(two);
Run Code Online (Sandbox Code Playgroud)
如果我改变方法Adapter<T>然后它抱怨"两个"不是类型Adapter<TypeOne>
给定由三个3D点定义的三角形顶点,如何计算它与给定点之间的角度.
class Point3D
{
double x, y, z;
}
class Vertex
{
Point3D P1, P2, P3;
}
Point3D LightPoint;
Run Code Online (Sandbox Code Playgroud)
http://www.ianquigley.com/iq/RandomImages/vextor.png
红点亮点.蓝点 - 显示表面法线的三角形.
我需要计算表面法线,以及它与LightPoint之间的角度.我发现了一些碎片,但没有任何东西将它组合在一起.