110,571
社区成员
发帖
与我相关
我的任务
分享
((Action)(() => { }))();
但是意义呢public class ABC
{
private static int abc = 123;
.......
}
只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。[/quote]
其实是想这么干
class QWE
{
public static int ABC = ( (Func<int>)( () =>
{
try
{
return int.Parse( System.Configuration.ConfigurationManager.AppSettings["ABC"] );
}
catch( Exception )
{
return 123;
}
} ) )();
}
[/quote]初始值语句有可能会抛异常,所以就想这么干,不过也可以放到构造函数里面[/quote]
在 c#/.net 中会正规地使用“属性”的语法来写逻辑。例如 class QWE
{
private static int? _ABC;
public static int ABC
{
get
{
if (!_ABC.HasValue)
{
try
{
_ABC = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ABC"]);
}
catch (Exception)
{
_ABC = 123;
}
};
return _ABC.Value;
}
}
......
}
我还是在此提醒你,c#要正统得多。不要满脑子只有 javascript 那点语法。 int c = 0;
var b = ((Func<int>)(() => { c = 123; return 456; }))();
Console.WriteLine("c:{0} b:{1}", c, b);
public class ABC
{
private static int abc = 123;
.......
}
只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。[/quote]
其实是想这么干
class QWE
{
public static int ABC = ( (Func<int>)( () =>
{
try
{
return int.Parse( System.Configuration.ConfigurationManager.AppSettings["ABC"] );
}
catch( Exception )
{
return 123;
}
} ) )();
}
[/quote]初始值语句有可能会抛异常,所以就想这么干,不过也可以放到构造函数里面[/quote]public class ABC
{
private static int abc = 123;
.......
}
只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。[/quote]
其实是想这么干
class QWE
{
public static int ABC = ( (Func<int>)( () =>
{
try
{
return int.Parse( System.Configuration.ConfigurationManager.AppSettings["ABC"] );
}
catch( Exception )
{
return 123;
}
} ) )();
}
[/quote]初始值语句有可能会抛异常,所以就想这么干,不过也可以放到构造函数里面public class ABC
{
private static int abc = 123;
.......
}
只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。[/quote]
其实是想这么干
class QWE
{
public static int ABC = ( (Func<int>)( () =>
{
try
{
return int.Parse( System.Configuration.ConfigurationManager.AppSettings["ABC"] );
}
catch( Exception )
{
return 123;
}
} ) )();
}
public class ABC
{
private static int abc = 123;
.......
}
只要你声明一个类型(而不是函数),那么在第一次使用到这个类型时就会初始化 ABC.abc 的值。这里就扯不上上么“Lamda、立即执行”的诡异的弯弯绕的概念了。
所以c# 这种 OOPL 语言很“正统”,而javascript相当“邪”。