小编And*_*hin的帖子

TSP遗传算法中的交叉操作

我正试图用遗传算法解决旅行商问题(TSP).我的基因组是图中顶点的排列(推销员的路径).

我该如何对基因组进行交叉操作?

我在哪里可以找到C#中我的问题的实现?

c# algorithm artificial-intelligence traveling-salesman genetic-algorithm

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

在ASP.NET MVC应用程序中使用静态存储库的优缺点

在ASP.NET MVC应用程序中使用静态存储库的优缺点是什么?

让所有方法始终可用并不是更好 - >意味着类只被实例化一次而不是让多个控制器引用相同的存储库类及其方法?

或者我在这里弄错了什么?

所有帮助都非常感谢!

c# asp.net-mvc design-patterns repository-pattern c#-4.0

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

d3追加svg扩展名的图像

我正在尝试将带有'.svg'扩展名的svg图像添加到我的图表(使用d3创建的另一个svg图像).

这是代码:

d3.select("#chart1 svg")
  .append("svg:image")
  .attr("xlink:href", "img/icons/sun.svg")
  .attr("width", 40)
  .attr("height", 40)
  .attr("x", 228)
  .attr("y",53);
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在设置"xlink:href"属性,但是d3会在浏览器中将其更改为href:

<image href="img/icons/sun.svg" width="40" height="40" x="228" y="53"></image>
Run Code Online (Sandbox Code Playgroud)

事实上,如果我使用png扩展名,这段代码就能完美运行.任何的想法?

javascript svg image xlink d3.js

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

.net framework 4.0的File.ReadLines(..)方法中的错误

这段代码:

IEnumerable<string> lines = File.ReadLines("file path");
foreach (var line in lines)
{
    Console.WriteLine(line); 
}
foreach (var line in lines)
{ 
    Console.WriteLine(line); 
} 
Run Code Online (Sandbox Code Playgroud)

ObjectDisposedException : {"Cannot read from a closed TextReader."}如果第二个foreach执行则抛出一个.似乎返回的迭代器对象File.ReadLines(..)不能多次枚举.您必须通过调用获取新的迭代器对象File.ReadLines(..),然后使用它进行迭代.

如果我File.ReadLines(..)用我的版本替换(参数未经验证,那只是一个例子):

public static IEnumerable<string> MyReadLines(string path)
{
    using (var stream = new TextReader(path))
    {
        string line;
        while ((line = stream.ReadLine()) != null)
        {
            yield return line;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

可以多次迭代文件的行.

使用调查.Net Reflector表明,File.ReadLines(..)调用private的File.InternalReadLines(TextReader reader)实现创建了实际的迭代器.作为参数传递的读者MoveNext()在迭代器的方法中用于获取文件的行,并在到达文件末尾时被释放.这意味着一旦 …

.net c# c#-4.0

11
推荐指数
2
解决办法
3715
查看次数

为什么IList <>.Reverse()不像List <>()那样工作.反向

我有问题List<T>.Reverse()Reverse(this IEnumerable<TSource> source).看看代码:

  // Part 1
  List<int> list = new List<int> { 1, 2, 3 };

  foreach (int x in list)
    Console.Write(x);

  Console.WriteLine();

  list.Reverse();

  foreach (int x in list)
    Console.Write(x);

  Console.WriteLine();
  list.Reverse();

  // Part2
  IList<int> ilist = list;

  foreach (int x in list)
    Console.Write(x);      

  Console.WriteLine();

  ilist.Reverse();

  foreach (int x in ilist)
    Console.Write(x);

  Console.WriteLine();

  ilist.Reverse();
Run Code Online (Sandbox Code Playgroud)

我的结果:

123
321
123
123
Run Code Online (Sandbox Code Playgroud)

因为-Part1 Reverse()List<T>.Reverse(),Reverse()-Part2是Reverse(this IEnumerable<TSource> source) 我要List<int>.Reverse()在Part2中执行的IList<int>.我怎么能这样做?

c# methods interface list ambiguity

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

three.js设置和读取相机外观矢量

我没有使用camera.rotation或lookAt()函数旋转相机,而是想直接将相机矢量传递给相机...是否可以直接设置相机外观矢量并且可以读取外观从相机矢量?

camera vector three.js

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

无法让Xamarin项目在OSX上使用Rider-EAP

当JetBrains推出Project Rider-EAP时,我真的很兴奋.我尝试过的第一件事是让一个Xamarin-iOS项目在Rider-EAP中运行,但它并不是开箱即用的.


更新1:此问题现已列为EAP 2中修复的关键错误:https://youtrack.jetbrains.com/issue/RIDER-618


1.问题(已修复)项目未加载,但无法找到Xamarin.iOS.targets.

我用一个简单的符号链接修复了这个问题:

ln -s /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/ “/Applications/Rider EAP.app/Contents/lib/ReSharperHost/macos-x64/mono/lib/mono/xbuild/”
Run Code Online (Sandbox Code Playgroud)

2.问题 参考未正确加载.因此,整个语法突出显示和其他一切都被打破了.

请参见屏幕截图:未正确加载引用

我也得到以下错误:

Error:null: Error initializing task MakeDir: Could not load file or assembly '/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Tasks.dll' or one of its dependencies
Run Code Online (Sandbox Code Playgroud)

将xbuild切换到mono 4.2.2可以消除错误但不能解决问题.

PS:它为Xamarin Android项目正确加载引用.

macos mono ios xamarin rider

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

没有defs的SVG中的线性渐变

我可以在SVG中使用线性渐变,其中defs-section如:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

  <defs>
    <linearGradient id="myLinearGradient1"
                    x1="0%" y1="0%"
                    x2="0%" y2="100%"
                    spreadMethod="pad">
      <stop offset="0%"   stop-color="#00cc00" stop-opacity="1"/>
      <stop offset="100%" stop-color="#006600" stop-opacity="1"/>
    </linearGradient>
  </defs>

  <rect x="0" y="0" width="100" height="100"
     style="fill:url(#myLinearGradient1)" />

</svg>
Run Code Online (Sandbox Code Playgroud)

我可以使用没有defs-section的线性渐变吗?我发现这样的事情:

<rect style="fill:lineargradient(foo)">
Run Code Online (Sandbox Code Playgroud)

svg gradient linear-gradients

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

WPF中TabControl的TabChanged事件

我在WPF中有一个TabControl.我想找到更改标签时发生的事件.这个活动的名字是什么?

.net c# wpf events tabcontrol

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

获取特定的StackFrame而不是StackTrace.GetFrame会更便宜吗?

如果我只是想做以下事情,看看有什么叫我,

var st = new StackTrace();
var callingMethod = st.GetFrame(1).GetMethod()
Run Code Online (Sandbox Code Playgroud)

获得特定框架会更便宜吗?

var sf = new StackFrame(1);
var callingMethod = sf.GetMethod()
Run Code Online (Sandbox Code Playgroud)

我测试了下面的代码,但我不确定我的方法是否合理.


Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < 100000; i++)
{
  var method = new StackFrame(1, false);
}
sw.Stop();
Trace.WriteLine(sw.ElapsedMilliseconds);

sw = Stopwatch.StartNew();
for (int i = 0; i < 100000; i++)
{
  var method = new StackTrace().GetFrame(1);
}
sw.Stop();
Trace.WriteLine(sw.ElapsedMilliseconds);

// Results
// StackFrame: 850
// StackTrace: 1334
Run Code Online (Sandbox Code Playgroud)

我的方法(和结果)是否正确?

编辑

我会使用Caller Information属性,但是,我暂时停留在.NET 3.5中.

.net c# performance benchmarking callstack

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