这是一个问题,C(K&R C)是怎样的?问题是关于C生命的前十年或二十年?
我知道,好吧,我从我的大学教授那里听到它们,C没有我们今天用ANSI C获得的标准库.他们曾经在包裹的程序集中编写IO例程!第二件事是K&R的书,是程序员阅读的最好的书之一,这就是我的教授告诉我们的:)
我想更多地了解一下好的C'.例如,与ANSI C相比,您对它有多大的了解,或者C如何改变程序员对编程的关注?
只是为了记录,我在主要阅读这两篇论文后问这个问题:
我知道它们是关于C++的!这就是为什么我想了解更多关于C的原因,因为这两篇论文是关于C++是如何从C诞生的.我现在在询问它之前的样子.感谢Lazarus指出第一版K&R,但我仍然渴望从SO大师那里了解更多关于C的信息;)
我想在Win7上与2008版本并行安装Visual Studio 2010.这会引起一些问题吗?
使用SharePoint SDK,我正在尝试检索列表并在复合控件中显示内容.该列表是受众了解的,我想在我的控制下保持这一点.如何使用SharePoint SDK获取此列表(按受众筛选)?这是我正在使用的一些代码:
SPWeb currentWeb = SPContext.Current.Site.RootWeb;
SPList shortcuts = currentWeb.Lists["Shortcuts"];
Run Code Online (Sandbox Code Playgroud) 是否有任何操作系统提供一种机制(系统调用 - 而不是命令行程序)来更改符号链接(符号链接)引用的路径名 - 除了取消旧链接和创建新链接之外的路径名?
POSIX标准没有.Solaris 10没有.MacOS X 10.5(Leopard)没有.(我很可能确定AIX和HP-UX都没有.从这个Linux系统调用列表来看,Linux也没有这样的系统调用.)
有什么事吗?
(我期待答案是"不".)
由于证明负面是困难的,让我们重新组织这个问题.
如果您知道某些(类Unix)操作系统没有列出系统调用来重写符号链接的值(返回的字符串readlink())而不删除旧的符号链接并创建一个新的符号链接,请添加它 - 或者它们 -在答案中.
有没有人有这个问题?如果是这样,你怎么绕过它呢?我们正在遭遇零星的超时问题,这一点被指责.
这里也报告了同样的问题:
这是一个真实的快速示例:
puts File.join(nil, "hello")
Run Code Online (Sandbox Code Playgroud)
会输出
test.rb:4:in 'join': can't convert nil into String (TypeError)
from test.rb:4
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
begin
puts File.join(nil, "hello")
rescue => exception
puts exception.backtrace
end
Run Code Online (Sandbox Code Playgroud)
这将输出
test.rb:4:in 'join'
test.rb:4
Run Code Online (Sandbox Code Playgroud)
现在我如何捕获完整的回溯,包括"无法将nil转换为String(TypeError)"部分?
@Sarah Vessels: 在我的特定代码中,这段代码:
puts "=============================="
puts error.message
puts "=============================="
puts error.inspect
puts "=============================="
puts error.backtrace
puts "=============================="
Run Code Online (Sandbox Code Playgroud)
回报
==============================
exit
==============================
#<SystemExit: exit>
==============================
/usr/lib/ruby/1.8/glib2.rb:37:in `exit'
/usr/lib/ruby/1.8/glib2.rb:37:in `exit_application'
multi.rb:234:in `main'
multi.rb:347
==============================
Run Code Online (Sandbox Code Playgroud) 这可能适用于其他地方,但在WinForms中,当我使用绑定时,我发现许多方法都希望将属性的名称绑定到.就像是:
class Person
{
public String Name { get { ... } set { ... } }
public int Age { get { ... } set { ... } }
}
class PersonView
{
void Bind(Person p)
{
nameControl.Bind(p,"Name");
ageControl.Bind(p,"Age");
}
}
Run Code Online (Sandbox Code Playgroud)
我一直遇到的一个大问题是"Name"和"Age"被指定为字符串.这意味着如果有人重命名Person的一个属性,编译器就无济于事.代码编译正常,但绑定将被破坏.
我错过了解决这个问题的标准方法吗?感觉我需要一些关键字,也许叫做stringof来匹配现有的typeof.你可以使用它:
ageControl.Bind(p,stringof(p.Age).Name);
Run Code Online (Sandbox Code Playgroud)
stringof可以返回一些具有获取完整路径,路径的一部分或字符串的属性的类,以便您可以自己解析它.
这样的事情已经可以吗?
我有两个dockpanels,每个都有一个左侧StackPanel.
所述的宽度底部的StackPanel确定由宽度文本是在它.
的宽度顶部的StackPanel应该是相同的宽度底部的StackPanel.
我试图通过ElementName将顶部StackPanel的宽度绑定到底部StackPanel的宽度,但这不起作用.
如何使顶部宽度与底部宽度相同?
替代文字http://i33.tinypic.com/59wj6s.jpg
<StackPanel>
<DockPanel LastChildFill="True" Height="100" >
<StackPanel Width="{Binding ElementName=LeftMenuText, Path=Width}"
DockPanel.Dock="Left"
Background="Yellow">
<TextBlock
Text="This is some text."/>
</StackPanel>
<StackPanel DockPanel.Dock="Right"
Background="Orange">
</StackPanel>
</DockPanel>
<DockPanel
Height="3"
Background="Black"></DockPanel>
<DockPanel LastChildFill="True" Height="100">
<StackPanel Name="LeftMenuWrapper"
DockPanel.Dock="Left"
Background="Yellow">
<TextBlock
Text="This is some text that is longer."/>
</StackPanel>
<StackPanel DockPanel.Dock="Right"
Background="Blue">
</StackPanel>
</DockPanel>
</StackPanel>
Run Code Online (Sandbox Code Playgroud) 我有一个组合框,我在其中设置了ItemTemplate如下所示的内容:
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Piece.NoPiece}" Width="50" />
<TextBlock Text="{Binding Piece.Description}" Width="170" />
<TextBlock Text="{Binding Piece.Categorie.NomCategorie}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
如您所见,我有三列让用户看到不同的信息.但是,我希望组合中的选定项目仅显示第二列.换句话说,有一种方法可以ItemTemplate在向下滚动时以不同的方式显示项目,而在它关闭时只显示选择吗?
我正在看新版本的ASP.NET MVC(如果你还没有看到它,请参阅这里了解更多细节)我在显示对象内容时遇到了一些非常基本的麻烦.
在我的控制中,我有一个类型的对象Person,我将其传递给视图ViewData.Model.到目前为止一切都很好,我可以在视图中提取准备显示的对象.我没有得到的是,我需要调用Html.DisplayFor()方法以获取数据到屏幕.我试过以下......
<%
MVC2test.Models.Person p = ViewData.Model as MVC2test.Models.Person;
%>
// snip
<%= Html.DisplayFor(p => p) %>
Run Code Online (Sandbox Code Playgroud)
但我收到以下消息:
CS0136:名为'p'的局部变量不能在此范围内声明,因为它会给'p'赋予不同的含义,'p'已在'父或当前'范围内用于表示其他内容
我知道这不是我应该做的 - 我知道重新定义变量会产生这个错误,但我不知道如何从控制器访问该对象.所以我的问题是,如何将对象传递给视图以显示其属性?
NB我应该补充说,我正在有限的业余时间阅读这篇文章,所以我完全有可能错过了一些基本的东西.
TIA
.net ×2
c# ×2
wpf ×2
asp.net-mvc ×1
c ×1
combobox ×1
dockpanel ×1
kr-c ×1
ruby ×1
selecteditem ×1
sharepoint ×1
smtp ×1
stackpanel ×1
symlink ×1
unix ×1
width ×1
xaml ×1