我正在查看我正在处理的应用程序的文件夹,并注意到"ipch"文件夹,对于我的解决方案,它有两个小项目,它的重量约为90mb +大小.
我找到一篇文章讨论文件的使用,并想知道它们是否可以安全删除?我希望尽可能减少应用程序的占用空间.如果我要删除文件夹,应用程序是否会保持安全稳定的状态?
这与此处提出的问题略有关系但答案不适用于我的情况,因为我没有使用线程:
我已经将我的一个WinForm应用程序转换为WPF应用程序,除了将几个单词更改为WPF/C#4.0等效(MessageBoxButtons到MessageBoxButton,为什么一个字母的区别?)之外,没有什么需要做的.
无论如何,如果我通过调试器运行应用程序它运行正常,直到我用窗口右上角的"X"按钮关闭它.应用程序窗口关闭,但我注意到调试器仍显示停止图标,检查任务管理器确认它仍在运行.
我没有在后台运行任何其他线程所以我知道它不是在等待别的东西.
我刚刚开始使用WPF,但我认为当用户关闭应用程序时它应该......关闭?
谢谢您的帮助!
我试图从键盘读取输入,我将用它来创建一组乘法.如果我硬编码整数使用然后程序工作正常但是当我让用户输入他们自己的号码时程序崩溃并显示有关访问冲突的错误.
我确信这很简单,但由于我对C很新,所以我不完全确定使用该语言时要遵循的所有原则.
#include <stdio.h>
#include <string.h>
#include <math.h>
void main()
{
int multiple = 0;
int i;
int answer;
printf("Enter the multiple you wish to use...");
scanf("%d", multiple);
printf("The multiplication table for %d is", multiple);
for(i = 1; i <= 10; i++)
{
answer = i * multiple;
printf("%d X %d = %d",i,multiple,answer);
printf("\n");
}
printf("Process completed.");
}
Run Code Online (Sandbox Code Playgroud)
注意:我将multip的初始值设置为0,否则在尝试使用未初始化的值时会遇到错误.
我在Windows窗体上有一个调用RunWorkerAsync()方法的按钮,然后执行一个操作,然后更新同一窗体上的ListBox.
DoWork事件完成后,我为事件分配结果(这是一个列表),我处理RunWorkerCompleted()事件,然后执行以下代码来更新我的列表框

这称之为:

(道歉,代码格式化不起作用)
现在,当我运行应用程序并按下刷新按钮时,会出现以下异常:

我怎么能绕过这个?
编辑:
在下面的语句中抛出异常,这发生在DoWork方法中,我清除内容以使列表保持最新;
listBoxServers.Items.Clear();
我在我的XAML中定义了两个DataTemplates,每个都用于一个单独的ItemsControl面板.
主ItemsControl列出了ObservableCollection对象中存储的Foo对象.
Foo对象本身具有作为ObservableCollection对象存储的自己的一组项.
我试图以一种允许每个ObservableCollection Foo项目在标题中显示的方式定义XAML(第一个ItemsControl).由此,每个Foo项目本身内的列表应该水平显示(使用第二个ItemsControl),下面是相关字段.如果存在足够的物品,那么它们应该在必要时包裹到下一行.
这就是UI目前的表现:

这就是我希望UI实际出现的方式:

我的标记(按钮控件用于UI的另一个方面):
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<ItemsControl x:Name="ContentList" ItemTemplate="{StaticResource GameTemplate}" Grid.Column="0" />
</ScrollViewer>
<StackPanel Grid.Column="1" Background="DarkGray">
<Button Click="OnLoad">_Load</Button>
<Button Click="OnSave">_Save</Button>
<Button Click="OnAdd">_Add</Button>
<Button Click="OnDelete">_Delete</Button>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
DataTemplate用于列出Foo项目:
<DataTemplate x:Key="GameTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Content="{Binding Name}" Grid.Row="0" Background="Gray" FontSize="16" />
<ItemsControl x:Name="imageContent"
ItemsSource="{Binding FileList}"
ItemTemplate="{StaticResource GameImagesTemplate}"
Grid.Row="1" />
</Grid>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
DataTemplate用于列出每个Foo项目中的项目:
<DataTemplate x:Key="GameImagesTemplate">
<WrapPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" >
<Image Source="{Binding FileInfo.FullName}"
Margin="8,8,8,8"
Height="70" …Run Code Online (Sandbox Code Playgroud) 我已经达到了这样的程度,即我已经发现了一些对于各种不同项目非常有用的类,它们既可以是现有的.Net的扩展,也可以是全新的.
虽然我可能不会将它们用于每个项目,但我肯定会在某些时候再次使用它们,我的问题是保存这些内容的最佳方法是什么?
我正在考虑将它们编译成.dll,如果有必要我可以简单地引用它,但目前只有大约4个不同的类,我一直认为.dll更适合更多的类.
将它们存储在云中的某个地方是否更简单,以便我可以从几乎任何计算机访问它们?
最适合你的是什么?
编辑:我将使用多台计算机,因为我有时使用大学的计算机设施.
这些类的范围从XNA中的内存管理助手类到常规.Net/C#中的小众函数
我正在尝试分析我的应用程序来监视重构之前和之后的函数的效果.我已经对我的应用程序进行了分析并查看了摘要我注意到Hot Path列表没有提到我使用的任何函数,它只提到Application.Run()的函数
我很擅长分析,并想知道如何通过MSDN文档证明我可以获得有关Hot Path的更多信息;
MSDN示例:

我的结果:

我注意到在输出窗口中有许多与加载符号时失败相关的消息,其中一些在下面;
Failed to load symbols for C:\Windows\system32\USP10.dll.
Failed to load symbols for C:\Windows\system32\CRYPTSP.dll.
Failed to load symbols for (Omitted)\WindowsFormsApplication1\bin\Debug\System.Data.SQLite.dll.
Failed to load symbols for C:\Windows\system32\GDI32.dll.
Failed to load symbols for C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll.
Failed to load symbols for C:\Windows\system32\msvcrt.dll.
Failed to load symbols for C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll.
Failed to load symbols for C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll. Failed to load symbols for
C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll.
Unable to open file to serialize symbols: Error VSP1737: File could not be opened due …Run Code Online (Sandbox Code Playgroud) 我已经绞尽脑汁待了一段时间,我只是想创建一个返回结构的方法,因为我希望返回两个int.
我的方法原型如下:
typedef struct RollDice();
Run Code Online (Sandbox Code Playgroud)
方法本身也是:
typedef struct RollDice()
{
diceData diceRoll;
diceRoll.dice1 = 0;
diceRoll.dice2 = 0;
return diceRoll;
}
Run Code Online (Sandbox Code Playgroud)
编译器显示错误:"Syntax error: ')'"原型和实际方法.
结构本身:
typedef struct
{
int dice1;
int dice2;
}diceData;
Run Code Online (Sandbox Code Playgroud)
我出错的地方很明显吗?我已经尝试了所有我能想到的东西.
谢谢
编辑/解决方案:
为了使程序能够使用建议的解决方案,我必须对结构进行以下更改,
typedef struct diceData
{
int dice1;
int dice2;
};
Run Code Online (Sandbox Code Playgroud) 我已经搜索了SO,看看是否有类似的问题,但到目前为止我还没有找到任何东西.
我想在我的应用程序中添加一个帮助窗口,类似于许多其他应用程序中的帮助窗口(如下例所示):

正如您所看到的,帮助窗口允许您为应用程序的特定功能提供大量说明,以及将其打印出来以供将来参考的功能.
我该如何将其添加到我的应用程序中?
c# ×5
c ×3
.net ×2
.net-4.0 ×2
winforms ×2
wpf ×2
asynchronous ×1
c#-4.0 ×1
itemscontrol ×1
profiling ×1
random ×1
refactoring ×1
struct ×1
udp ×1