我已经读过.NET支持返回引用,但C#没有.有特殊原因吗?为什么我不能做这样的事情:
static ref int Max(ref int x, ref int y)
{
if (x > y)
return ref x;
else
return ref y;
}
Run Code Online (Sandbox Code Playgroud) 我在代理下,如果我尝试curl http://localhost/mysite
或curl http://127.0.0.1/mysite
卷曲尝试用代理解决它.所以我尝试了--noproxy
选项,但不起作用.使用代理的外部服务器正常工作curl http://mysite.com
.
proxy.domain.xx:1080
无需身份验证http_proxy=http://proxy.domain.xx:1080
localhost
和*.dev
--noproxy:不使用代理的以逗号分隔的主机列表
$ curl -v http://localhost/mysite
- >调试:
响应
Connected to proxy.domain.xx (200.55.xxx.xx) port 1080 (#0)
GET http://localhost/mysite HTTP/1.1
User-Agent: curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3
Host: localhost
Accept: */*
Proxy-Connection: Keep-Alive
The system returned: <PRE><I>(111) Connection refused</I></PRE>
Run Code Online (Sandbox Code Playgroud)curl -v --noproxy localhost, http://localhost/muestra
响应
About to connect() to localhost port 80 (#0) …
Run Code Online (Sandbox Code Playgroud)具体来说,如果206个音频请求中的一个失败并且缓冲停止,是否有办法检测该状态?或者我是否应该通过比较缓冲的金额与过去的金额来检查缓冲是否停止?
另外,我如何检查指定的源是否失败,您是否可以将其指向另一个源?
这是DynamicObject
课程的一部分:
public class DynamicObject : IDynamicMetaObjectProvider
{
...
public virtual bool TryInvoke(InvokeBinder binder, object[] args, out object result)
{
result = (object) null;
return false;
}
...
public virtual bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
result = (object) null;
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
来自MSDN ::
TryInvoke
提供调用对象
TryInvokeMember
的操作的实现:为调用成员的操作提供实现
我想知道这两种方法之间的真正区别,因为它们具有几乎相同的语法和实现.我已经知道TryInvoke如果用于对象或委托,而TryInvokeMember用于方法,但为什么有两种方法呢?一个很好的例子将不胜感激.
我正试图播放声音,我找到了两种适合我的方法.哪种方式更好,为什么?添加"加载"事件监听器是一个好主意吗?
第一种方式:
$(document).ready(function() {
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'sound.ogg');
audioElement.addEventListener("load", function(){
audioElement.play();
}, true);
audioElement.play();
});
Run Code Online (Sandbox Code Playgroud)
第二种方式:
$(document).ready(function() {
audioElement = new Audio('sound.ogg');
audioElement.play();
});
Run Code Online (Sandbox Code Playgroud) C#4.0进一步扩展了通用类型和接口的协方差和逆变.有些接口(比如IEnumerable<T>
)是协变量,所以我可以这样做:
IEnumerable<object> ie = new List<string>();
Run Code Online (Sandbox Code Playgroud)
但是这条线怎么样?我遇到了编译时错误
List<Object> list = new List<String>();
//Cannot implicitly convert type List<string>' to List<object>'
Run Code Online (Sandbox Code Playgroud)
我的意思是,如果List<T>
实现IEnumerable<T>
为什么List<T>
仍然是不变的?有没有一个很好的反例可以解释为什么在C#中不允许这样做?
据我所知,C#允许只有方法的最后一个参数是"可变长度",例如:
T f(A a, params B[] b)
允许,如果你有,A r; .... B x, y, z; ....
你可以打电话给像f (r, x, y, z)
.为什么C#也没有定义类似的东西:
T f(params A[] a, params B[] b)
Run Code Online (Sandbox Code Playgroud) 例如,为什么这种方法Max(ref int x, ref int y)
不被认为是超载Max(int x, int y)
?为什么一样out
?
我有这个菜单,我希望菜单项自动具有相同的大小,具体取决于有多少菜单项和nav
宽度.
但是我很难以尽可能干净的方式完成这项工作.
这就是我构建菜单的方式
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a>
<ul>
<li><a href="#">Item 1</a></li>
</ul>
</li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×4
methods ×3
c#-4.0 ×2
html ×2
html5 ×2
javascript ×2
jquery ×2
audio ×1
bash ×1
covariance ×1
css ×1
curl ×1
dynamic ×1
html5-audio ×1
ienumerable ×1
parameters ×1
proxy ×1
reference ×1
return-type ×1