我怎样才能(如果可能的话)在C#for循环中初始化不同类型的多个变量?例:
for (MyClass i = 0, int j = 1; j<3; j++,i++)
Run Code Online (Sandbox Code Playgroud) 我决定,我学习了一点Python.第一个介绍说它使用缩进来分组语句.虽然最好的习惯显然只使用其中一种,如果我互换它会发生什么?多少个空格将被视为等于一个标签?如果标签和空格混合在一起会不会起作用?
如何确定表中列的实际宽度?下面的代码(在Chrome中)看起来像这样:

我的问题是用"ddd ..."向单元格添加更多字符,不使用自由空间,但其他单元格的内容被包装.有时问题是文本"aaa ..."和"ccc ..."不会重叠.表的总大小是固定的,但所有内容都是动态的,因此不优选固定布局.
更新:尽管包含的文本少于任何实际列,但第一行(c1-c4)对最终布局具有非常显着(可能)的影响.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
body {background:#000; color:#fff; font-family:'Tahoma'; font-weight:600; }
.container {width:670px; }
table {font-family:'Tahoma'; font-weight:600; border-color: #ffffff; border-width:1px; }
.detail table{margin-left:20px; font-size:24px; width:650px;}
.detail table .operational {text-align:right;}
</style>
</head>
<body>
<div class="detail">
<table border="1px" cellpadding="0px" cellspacing="0px" >
<tbody>
<!-- first row and borders only for debuging-->
<tr>
<td >c1</td>
<td >c2</td>
<td >c3</td>
<td >c4</td>
</tr>
<tr >
<td class="caption">Date</td>
<td class="value">17.6.2013</td>
<td class="operational" colspan="2">aaaaaaaaaaaaaaaaaaaaaaa</td> …Run Code Online (Sandbox Code Playgroud) 我有一个基类(代表一个充满小球体的真实世界容器)和一些派生类.这很好用.
我的问题是如何进行可视化.我有一个UserControl可视化基类.对每个派生类都有一个派生UserControl的最佳解决方案吗?或者只有一个人为所有人工作更好?
编辑:
显然我不够具体.总有相同的基本外观:内部有很多圆圈的矩形.类之间的区别在于容器的填充方式.一种类型将种子放在中间并在树状结构中创建其他球体 - 在这种情况下,应绘制父母与其子女之间的连接线.
通常情况下,应该对类的可视化具有一致的外观,并为每种派生类型提供一些专业.
我有很多不同,UserControls并希望保持一致的UI设置(主要是颜色和字体).我的第一次尝试是这样的:
public class UISettings
{
//...
public void SetupUserControl(ref UserControl ctrl)
{
ctrl.BackColor = this.BackColor;
}
}
Run Code Online (Sandbox Code Playgroud)
在这样的每个控件中调用:
settings.SetupUserControl(ref this);
Run Code Online (Sandbox Code Playgroud)
由于它this是只读的,因此不能通过ref参数传递,因此这不起作用.如果不手动更改每个项目的属性,还有哪些其他选项可以保持一致的UI?
我正在使用一个与数组一起工作的C#应用程序.它遍历它(意味着一次只使用数组的一个狭窄部分).我正在考虑在其中添加线程以使其执行更快(它在双核计算机上运行).问题是我不知道它是否真的会有所帮助,因为线程需要花费一些成本,这个成本很可能比平行增益更多......那么我如何确定线程是否会有所帮助呢?
设备将限制开关的状态报告为一系列零(表示包含"010111110000"的字符串).这些开关的理想表示形式是这样的标志枚举:
[Flags]
public enum SwitchStatus
{
xMin,
xMax,
yMin,
yMax,
aMax,
bMax,
cMax,
unknown4,
unknown3,
unknown2,
unknown1,
unknown0
}
Run Code Online (Sandbox Code Playgroud)
是否可以将字符串表示转换为枚举?如果是这样,怎么样?
阅读这个答案看来,如果__eq__在自定义类的定义,__hash__需要被定义好.这是可以理解的.
然而,目前尚不清楚,为什么 - 有效 - __eq__应该是相同的self.__hash__()==other.__hash__
想象一下这样的课程:
class Foo:
...
self.Name
self.Value
...
def __eq__(self,other):
return self.Value==other.Value
...
def __hash__(self):
return id(self.Name)
Run Code Online (Sandbox Code Playgroud)
这样,类实例可以通过值进行比较,这可能是唯一合理的用途,但是按名称认为是相同的.
这种方式set不能包含具有相同名称的多个实例,但比较仍然有效.
这样的定义会出现什么问题?
之所以定义__eq__,__lt__以及其他Value的能够通过对实例进行排序Value,并能够使用功能,如最大值.例如,他的类应该代表设备的物理输出(比如加热元件).每个输出都有唯一的名称.值是输出设备的功率.为了找到加热元件的最佳组合以便打开,能够通过功率(值)进行比较是有用的.但是,在集合或字典中,不应该有多个具有相同名称的输出.当然,具有不同名称的不同输出可能容易具有相同的功率.
我应该如何将源文件划分为项目(在一个解决方案中)
有工作(数据处理)类,用户控件,一些实用程序类和应用程序的表单.
我尝试使用XDocument(XML Linq)来保存和加载类.为此,我有两种方法:
static MyClass FromXml(XElement data); //calls 0-parameter constructor inside
public XElement ToXml();
Run Code Online (Sandbox Code Playgroud)
像这样的构造函数
public MyClass(XElement data)
{
this = MyClass.FromXml(data);
}
Run Code Online (Sandbox Code Playgroud)
不起作用(说这是只读的).这可以以某种方式完成(没有创建从返回值手动复制每个字段)?
或者这个想法是错的?
将代码从FromXml构造函数移动应该可以工作,但是然后保存和加载将在两个地方或构造函数不会在一个地方...
c# ×7
python ×2
.net ×1
class ×1
constructor ×1
css ×1
enum-flags ×1
equivalence ×1
for-loop ×1
hash ×1
html ×1
html-table ×1
indentation ×1
performance ×1
spaces ×1
string ×1
tabs ×1
winforms ×1