问题列表 - 第41944页

自定义排序(三个领域的IComparer)

我有一个人类,有三个字段,标题,名称,性别,我想为它创建一个自定义排序,首先按标题排序,然后按名称排序,然后按性别升序排序:

public class SortPerson : IComparer
    {
        public int Compare(object x, object y)
        {
            (…)
        }
    }
Run Code Online (Sandbox Code Playgroud)

我知道如何只针对一个变量进行比较:但我如何才能继续进行三次?

public class SortPerson : IComparer
        {

int IComparer.Compare(object a, object b)
   {
      Person p1=(Person)a;
      Person p2=(Person)b;
      if (p1.Title > p2.Title)
         return 1;
      if (p1.Title < p2.Title)
         return -1;
      else
         return 0;
   }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢,

.net c# comparison

18
推荐指数
2
解决办法
1万
查看次数

C# - 实时控制台输出重定向

我正在开发一个C#应用程序,我需要启动一个外部控制台程序来执行一些任务(提取文件).我需要做的是重定向控制台程序的输出.像这样的代码不起作用,因为它仅在控制台程序中写入新行时引发事件,但是我使用的那个"更新"控制台窗口中显示的内容,而不写任何新行.每次更新控制台中的文本时,如何引发事件?或者每隔X秒获取一次控制台程序的输出?提前致谢!

c# console redirect

15
推荐指数
2
解决办法
2万
查看次数

如何限制ORACLE查询返回的记录数?

如何限制ORACLE查询返回的记录数?

你觉得哪种方式最好?

oracle limit

2
推荐指数
1
解决办法
9874
查看次数

这是一个错误吗?或者它是ASP.NET 4(或MVC 2)中的设置?

我刚刚开始试用T4MVC,我喜欢消除魔法字符串的想法.

但是,当我尝试在我的样式表的母版页上使用它时,我得到了这个:

<link href="<%: Links.Content.site_css %>" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

这样的结果:

<link href="&lt;%: Links.Content.site_css %>" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

而这些渲染正确:

<link href="<%: Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
<link href="<%: Links.Content.site_css + "" %>" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

看来,只要我在代码段中有双引号,它就可以工作.但是当我把其他任何东西放在那里时,它逃脱了领先的"不到".

这是我可以关闭的东西吗?这是一个错误吗?


编辑:

这并没有发生了<script src="..." ... />,也不会发生了<a href="...">.


编辑2:

最小的情况:

<link href="<%: string.Empty %>" />
Run Code Online (Sandbox Code Playgroud)

VS

<link href="<%: "" %>" />
Run Code Online (Sandbox Code Playgroud)


编辑3:

我有一个解决方法,我已经实现了一个HtmlHelper扩展,以便我可以这样做:

<%: Html.StyleSheet(Links.Content.site_css) %>
Run Code Online (Sandbox Code Playgroud)

我更喜欢对intellisens的支持,所以我实际上会坚持这一点.现在,我只是想解决这个问题.

asp.net asp.net-mvc asp.net-mvc-2

6
推荐指数
1
解决办法
151
查看次数

为什么人们不将DependencyProperties包装在泛型类中?

我不喜欢详细的dp,因为大多数代码都是重复的,我只是把它包装在一个泛型类中.

看过相当多的示例代码之后,我想知道为什么更多的人不会这样做.

我在演示应用程序中没有遇到任何问题,它使ViewModel更易于管理.

样品:

class GenericDependancyProperty<T> : DependencyObject
{
    // Value dependency property
    public static readonly DependencyProperty ValueProperty =
        DependencyProperty.Register( "Value", typeof( T ), typeof( GenericDependancyProperty ),
            new FrameworkPropertyMetadata( (T)default(T),
                new PropertyChangedCallback( OnValueChanged ) ) );

    // getter/setter for the Value dependancy property
    public T Value
    {
        get { return (T)GetValue( ValueProperty ); }
        set { SetValue( ValueProperty, value ); }
    }

    // Handles changes to the Value property.       
    private static void OnValueChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
    {
        GenericDependancyProperty<T> …
Run Code Online (Sandbox Code Playgroud)

c# generics wpf dependency-properties

7
推荐指数
1
解决办法
2424
查看次数

Lua:为什么改变一个变量的值也会改变另一个变量的值?

我认为运行这段代码你会得到我的意思.我想在寄存器()中注册5个名字.我循环了5次,在每个循环中我有一个变量newPerson,它应该保存有关一个人的所有信息,然后被添加到人员注册表中.在此示例中,为简单起见,仅注册人员的姓名.问题是,最终所有人都变成了同名:"佩特拉".我对此有点玩,但无法得到这种行为的合理理由.帮助赞赏!

local people={}
local person={
    name="Johan",
    lastName="Seferidis",
    class="B"
}
local names={"Markus", "Eva", "Nikol", "Adam", "Petra"} --people to register


for i=1, 5 do --register 5 people
    local newPerson=person
    local name=names[i]
    for field=1, 3 do --for each field(name, lastname, class)
        if field==1 then newPerson["name"]=name end --register name
    end
    people[i]=newPerson
end

print("First person name: " ..people[1]["name"])
print("Second person name: "..people[2]["name"])
print("Third person name: " ..people[3]["name"])
Run Code Online (Sandbox Code Playgroud)

variables lua registering

1
推荐指数
1
解决办法
3037
查看次数

你什么时候在PHP中使用$ this关键字?

$this什么时候在PHP中使用关键字?据我所知,$this是指在不知道对象名称的情况下创建的对象.

关键字$this也只能在方法中使用?

一个例子可以很好地展示何时可以使用$this.

php oop

8
推荐指数
1
解决办法
1万
查看次数

在C#中的Parallel.For

我正在尝试转换以下Collat​​z Conjecture算法:

 public class CollatzConjexture
    {
        public static int Calculate(int StartIndex, int MaxSequence)
        {
            int ChainLength = 0;
            int key = 0;
            bool ContinuteCalulating = true;
            int LongestChain = 0;
            Int64 Remainder = 0;

            for (int i = StartIndex; i <= MaxSequence; i++)
            {
                ChainLength = 1;
                Remainder = i;
                ContinuteCalulating = true;

                while (ContinuteCalulating)
                {
                    Remainder = CalculateCollatzConjecture(Remainder);
                    if (Remainder == 1)
                        ContinuteCalulating = false;

                    ChainLength += 1;
                }

                if (ChainLength > LongestChain)
                {
                    LongestChain = ChainLength;
                    key = …
Run Code Online (Sandbox Code Playgroud)

.net c# parallel-processing

5
推荐指数
1
解决办法
1554
查看次数

C#处理退出事件帮助

Process cExe = new Process();
cExe .StartInfo.FileName = "cexe.exe";
cExe .EnableRaisingEvents = true;
cExe .Exited += this.cExited;
Run Code Online (Sandbox Code Playgroud)

这是退出的方法

private void cExited(object o, EventArgs e)
{
    MessageBox.Show(/* SHOW FILE NAME HERE */);
}
Run Code Online (Sandbox Code Playgroud)

如何从退出的方法中获取有关该过程的信息?哪个变量(o,e)给我这个数据以及它们的含义是什么类型?

c# events process

3
推荐指数
1
解决办法
4417
查看次数

C++,非模板类中的模板变量

我使用以下模板类:

template <class T>
class Point2D
{
    private:
            T x;
            T y;
...
};

template <class T>
class Point2D;

template <class T>
class Line{
    private:
          Point2D <T> *start;  
          Point2D <T> *start; 
    .... 
};
Run Code Online (Sandbox Code Playgroud)

如果我想创建一个对象Line,则必须写出Line的点和类型的类型

int main
{
     Point2DC<double> p1(0,0);
     Point2DC<double> p2(10,10);
     Line<double> l(&p1,&p2);
     ...
}
Run Code Online (Sandbox Code Playgroud)

我发现它很无意义......如果点数是双倍的,那么Line也必须加倍......是否有可能只在类Line中指出一些指针并且不要对所有类进行模板化,就像那样

template <class T>
class Point2D;

class Line{
    private:
          template <class T>
          Point2D <T> *start;  
          Point2D <T> *start; 
    .... 
};
Run Code Online (Sandbox Code Playgroud)

并使用

int main
{
     Point2D<double> p1(0,0);
     Point2D<double> p2(10,10);
     Line l(&p1,&p2);
     ...
}
Run Code Online (Sandbox Code Playgroud)

c++ templates

4
推荐指数
1
解决办法
1359
查看次数