如何在c#中实现内部外部类
我有两个嵌套类
喜欢
class Outer
{
int TestVariable = 0;
class Inner
{
int InnerTestVariable = TestVariable // Need to access the variable "TestVariable" here
}
}
Run Code Online (Sandbox Code Playgroud)
它在编译时显示错误.
它可以解决
1)使TestVariable成为静态的
2)将外类的实例传递给Inner类
但是在java中,不需要创建Instance或static.
我可以在C#中使用相同的功能吗?
如何转换
Dictioanry<String,List<String>> into Dictionary<String,String>
Run Code Online (Sandbox Code Playgroud)
我有一本字典
Dictioanry<String,List<String>>dictOne=new Dictionary<String,List<String>>();
Run Code Online (Sandbox Code Playgroud)
哪个包含
Key(String) Value(List<String>)
A a1,a2
B b1,b2
C c1
Run Code Online (Sandbox Code Playgroud)
我需要将"dictOne"转换成
Dictionary<String,String> dictReverse=new Dictionary<String,String>()
Run Code Online (Sandbox Code Playgroud)
所以结果就像
Key(String) Value(String)
a1 A
a2 A
b1 B
b2 B
c1 C
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使用LINQ来做到这一点
提前致谢
如何从xml文件向dictonary添加数据
之情况:
我宣布像dictonary一样
Dictonary<string,string> SampleDict=new Dictonary<string,string>();
Run Code Online (Sandbox Code Playgroud)
和我的xml文件是一样的
<Data>
<Element ValOne="1" ValTwo="0" />
<Element ValOne="2" ValTwo="2" />
<Element ValOne="3" ValTwo="4" />
<Element ValOne="4" ValTwo="6" />
<Element ValOne="5" ValTwo="8" />
<Element ValOne="6" ValTwo="10" />
<Element ValOne="7" ValTwo="12" />
<Element ValOne="8" ValTwo="14" />
<Element ValOne="9" ValTwo="16" />
<Element ValOne="10" ValTwo="18" />
</Data>
Run Code Online (Sandbox Code Playgroud)
我需要使用LINQ读取"ValOne"和"ValTwo"的值,并将其插入到上面声明的dictonary中
以及如何将dictonary的内容添加到包含两列的列表视图中.
请帮我这样做
提前致谢
我有两个类我需要声明两个类共有的变量..
在嵌套类的情况下,我需要访问内部类中的外部类变量
请在c#中给我一个更好的方法.
示例代码
Class A
{
int a;
Class B
{
// Need to access " a" here
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
我有一个字符串1.00E+4
是否有任何内置的功能,这个字符串转换10000.(整数皈依[1.00E + 4 = 10000]).?
现在我正在使用这种字符串的正则表达式
我有一个xml文件,如:
<root>
<RowDetails RowName="A" ColumnSize="1">
<ColumnDetails ColumnName="A1" />
</RowDetails>
<RowDetails RowName="B" ColumnSize="2">
<ColumnDetails ColumnName="B1" />
<ColumnDetails ColumnName="B2" />
</RowDetails>
<RowDetails RowName="C" ColumnSize="3">
<ColumnDetails ColumnName="C1" />
<ColumnDetails ColumnName="C2" />
<ColumnDetails ColumnName="C3" />
</RowDetails>
</root>
Run Code Online (Sandbox Code Playgroud)
和一个像这样的词典:
Dictionary<String, List<String>>MyDict = new Dictioanary<String, List<String>>();
Run Code Online (Sandbox Code Playgroud)
我正在读取XML文件,MyDict如:
XDocument XDoc = XDocument.Load(Application.StartupPath + @"\foo.xml");
MyDict = XDoc.Descendants("RowDetails").ToDictionary(X => X.Attribute("RowName").Value,
X => X.Descendants("ColumnDetails")
.Select(Y => Y.Attribute("ColumnName").Value).ToList());
Run Code Online (Sandbox Code Playgroud)
现在字典将包含:
"A" { "A1" }
"B" { "B1", "B2" }
"C" { "C1", "C2", "C3" }
Run Code Online (Sandbox Code Playgroud)
但我的问题是我需要所有列表具有相同的计数.应为空条目添加空字符串,因此预期结果为:
"A" { "A1", …Run Code Online (Sandbox Code Playgroud) 如何从创建它的线程以外的线程访问控件,避免跨线程错误?
这是我的示例代码:
private void Form1_Load(object sender, EventArgs e)
{
Thread t = new Thread(foo);
t.Start();
}
private void foo()
{
this.Text = "Test";
}
Run Code Online (Sandbox Code Playgroud) 这是我的字符串
20.0e-6
Run Code Online (Sandbox Code Playgroud)
我正在解析它
String Ans=Double.Parse("20.0e-6")
Run Code Online (Sandbox Code Playgroud)
现在我得到了结果, 2E-05
但所需的输出应该是这样的
0.00002
怎么弄这个?
可能重复:
除了与Distinct有类似的效果?
我有两个List<String>喜欢
lstOne = { "A", "B", "C" ,"C" ,"C" };
lstTwo = { "A" };
lstResult = lstOne.Except(lstTwo).ToList();
Run Code Online (Sandbox Code Playgroud)
现在预期的产出是
lstReult = { "B","C","C","C" };
Run Code Online (Sandbox Code Playgroud)
但是actula结果就像
lstResult = { "B","C" };
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我已经习惯了Except,为什么它也适用Distinct?