此函数始终返回null.sString是一个带有字符串"Name"和字符串"Value"值的类.不要问我为什么不使用常规字符串 - 这很复杂.这是我的功能:
static string Get_sString(string VarName, ref List<sString> VarList)
{
foreach (sString TestsString in VarList)
{
if (TestsString.Name == VarName)
{
return TestsString.Name;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
它应该返回具有与VarName相同的Name值的实例,并且它可以工作,除了if语句总是为false.我无法弄清楚为什么.我实际上有一个几乎相同的类,叫做sDecimal,唯一的区别是Value属性是十进制,而不是字符串.Get_sDecimal()与此完美匹配,Get_sDecimal()和Get_sString()之间的唯一区别是,一个测试sDecimal,一个测试sString. 谢谢!
编辑:这是sString类.
class sString
{
public string Name;
public string Value;
/// <summary>
/// String Value variables that may have the same name.
/// </summary>
/// <param name="n">Internal name of variable.</param>
/// <param name="v">Value of variable.</param>
public sString(string n, string v)
{
Name = n;
Value = v; …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个基本的客户端/服务器程序,但是当我启动 TcpListener 时,它给了我SocketException:The requested address is not valid in its context.
实际上有一个返回我的公共 IP 的方法,并且它与 ipconfig 结果匹配,因此下面的 IP 地址字符串不能是问题。当然,出于安全原因,下面显示的 IP 不是我的真实 IP。我打开了下面的端口供一般使用。
无论如何,Not valid in context很模糊,所以我不确定这意味着什么。
这是我的代码(对于 TcpListener):
ServerIn = new TcpListener(IpAddress.Parse("100.100.100.100"), 8000);
ServerIn.Start();
Run Code Online (Sandbox Code Playgroud)
提前致谢。