我想知道这两个实例化之间的区别
interface ITest
{
int TotalMarks(int englishMarks, int mathematicsMarks);
}
class TestClass : ITest
{
public int TotalMarks(int engMarks, int mathMarks)
{
return engMarks + mathMarks;
}
}
class Program
{
static void Main(string[] args)
{
TestClass c = new TestClass();
Console.Write(c.TotalMarks(10, 20));
Console.Write("\n");
ITest c1 = new TestClass();
Console.Write(c1.TotalMarks(21, 34));
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
TestClass c = new TestClass(); ITest c1 = new TestClass();
他们都按预期工作并给出结果.这两个如何不同以及何时使用哪个?
我有一个字符串数组,我想Dictionary使用Linq将其转换为 a 。我想和一个元件偶数索引(包括零)是键与和元件奇数索引是值在字典中。我使用以下方法创建了一个字典for loop:
string[] arr = new string[4];
arr[0] = "John";
arr[1] = "A";
arr[2] = "Luke";
arr[3] = "B";
Dictionary<string, string> myDict = new Dictionary<string, string>();
for (int i = 0; i < arr.Length - 1; i += 2)
{
myDict.Add(arr[i], arr[i + 1]);
}
//myDict -> { { "John", "A" },{"Luke","B"} }
Run Code Online (Sandbox Code Playgroud)
现在我很好奇如何用LINQ 做到这一点ToDictionary():
myDict = arr.ToDictionary();
Run Code Online (Sandbox Code Playgroud) 正如你从标题中看到的,我需要转换这个对象:
object obj = new{
Id = 1,
Name = "Patrick"
};
Run Code Online (Sandbox Code Playgroud)
到特定的类实例。
为了更清楚,这里有一个例子给你们:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Scholar
{
public int UniqueId { get; set; }
public string FullName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有两个班级Student和Scholar。我无法找到一种正确编写转换为特定类型的算法的方法。
在我看来,伪代码应该是这样的:
if (obj.CanBeConverted<Student>()) {
//should return this if statement
obj = ConvertToType<Student>(o);
// after this method obj type should change to Student
} …Run Code Online (Sandbox Code Playgroud) 我有一个单词表和一个句子表。我想知道哪些话可以在其中找到句子。
这是我的代码:
List<string> sentences = new List<string>();
List<string> words = new List<string>();
sentences.Add("Gallia est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur.");
sentences.Add("Alea iacta est.");
sentences.Add("Libenter homines id, quod volunt, credunt.");
words.Add("est");
words.Add("homines");
List<string> myResults = sentences
.Where(sentence => words
.Any(word => sentence.Contains(word)))
.ToList();
Run Code Online (Sandbox Code Playgroud)
我需要的是元组列表。在句子中找到单词和单词。
我正在从一个基本上像这样的文本文件中读取内容:
>Name
>12345
>Name2
>32458
>Name3
>82745
Run Code Online (Sandbox Code Playgroud)
等等。我想要它,所以一旦程序检测到Name它Name,将12345在控制台上同时打印以下内容:
到目前为止,这是我的代码:
if (args[0] == "prog1")
{
List<string> lines = File.ReadAllLines(filename).ToList();
foreach (var line in lines)
{
if (line.Contains("Name"))
{
Console.WriteLine(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这仅会打印"Name"到控制台,我不确定如何使它也能在它之后打印行。
我想建立一个列表,其中包含一个单词大写的每个可能的排列.所以它会
List<string> permutate(string word)
{
List<string> ret = new List<string>();
MAGIC HAPPENS HERE
return ret;
}
Run Code Online (Sandbox Code Playgroud)
所以说我放入"快乐"我应该得到一个阵列
{快乐,快乐,快乐,快乐,haPpy,HaPpy ......哈欠,哈普,快乐,快乐}
我知道有很多函数可以将第一个字母大写,但是如何在单词中做任意字母?
我有一大堆的项目比范围的大小从1-10。
我想根据物件的百分比或机会确定该物件的大小。
例如:
物品成为大小的 机会1 = 50% 机会
物品成为大小的 机会5 = 20% 机会
物品成为大小的 机会10 = 5% 机会
我知道我当然需要为此使用Random发电机。
但是只是想知道你们中的某些人将如何使用C#进行逻辑处理?
我从soap服务获取数据,并想知道在嵌套列表中提取第一个元素的正确方法
我遇到的问题的例子
tempModel.Value = req.Data
.FirstOrDefault()
.Readings
.FirstOrDefault()
.Extract
.FirstOrDefault()
.Values
.FirstOrDefault()
.Reading;
Run Code Online (Sandbox Code Playgroud)
事情是服务返回元素列表,我需要提取多个嵌套层中的每个内部的第一个元素.
如果有任何列表,这里的代码将给我异常.null
我知道我可以尝试捕获,但我有五个这些元素,我想填充视图模型.我正在努力寻找这个问题的干净解决方案,因为我理解我怎么能以"丑陋的方式"来做到这一点.
任何指针都将非常感激.
我有一个二维数组
BoardTile tiles[,];
Run Code Online (Sandbox Code Playgroud)
然后Init(Point size)设置它的大小:
tiles = new BoardTile[size.X, size.Y];
Run Code Online (Sandbox Code Playgroud)
以及如何初始化所有这些元素,因为它不使用默认BoardTile()构造函数。它只是分配null。
foreach(BoardTile t in tiles) t = new BoardTile()
不起作用。当我尝试打电话时
foreach(BoardTile t in tiles) t.anything()
Run Code Online (Sandbox Code Playgroud)
我懂了NullReferenceException。