小编zen*_*dar的帖子

如何获取.Net中的语言环境列表

我想给用户选择文本文件区域设置.

.net中是否有一些类可以保留可用语言环境列表?

现在,我打算从MSDN页面创建自己的列表类:语言标识符常量和字符串,但如果.net中已存在某些内容,那就更好了.

以下是关于CultureInfo.GetCultures方法的 MSDN文章,Jeremy在他的回答中写道.还有代码示例.

.net c# locale

8
推荐指数
1
解决办法
7226
查看次数

Linq to SQL和大型DB模型

首先,我是Linq to Sql newbie,所以请温柔:).

我有过去3.5年开发的ASP.Net应用程序.它下面有相当大的数据模型,大约350个表.我正在尝试用Linq to SQL做一些新的东西.

第一印象是linq设计器和SqlMetal是为不大于NorthWind示例的数据库构建的.以下是我遇到的一些问题:

  1. 我有Products很多地方需要的桌子(库存,发票,生产......).如果我Products在每个dbml文件中放置表,linq设计器将在每个文件中创建Product类.我不希望这样.我只想要一Product堂课.
  2. 我有关于运输的DataContext.它需要大约40个表.这使得dbml文件很难管理.有没有办法创建较小的dbml文件,然后将它们(作为参考)包含在一些"主要"dbml中?

现在,我真的很喜欢Linq,但我认为它仍然严重缺乏超过10桌的任何设计工具.

我现在的解决方案是使用Linq设计器构建较小的模型,然后手动合并它们(添加属性和引用),因此将生成大量代码,但也会有大量的手动工作.

我是否错过了一些重要的内容,或者这是与Linq对Sql的当前状态?

linq-to-sql

7
推荐指数
1
解决办法
1584
查看次数

f#byte [] - > hex - >字符串转换

我有字节数组作为输入.我想将该数组转换为包含数组值的十六进制表示的字符串.这是F#代码:

let ByteToHex bytes = 
    bytes 
    |> Array.map (fun (x : byte) -> String.Format("{0:X2}", x))

let ConcatArray stringArray = String.Join(null, (ByteToHex  stringArray))
Run Code Online (Sandbox Code Playgroud)

这产生了我需要的结果,但我想使它更紧凑,因此我只有一个功能.我找不到在ByteToHex结尾处连接每个字节的字符串表示的函数.
我尝试了Array.concat,concat_map,我尝试了列表,但我能得到的最好的是数组或字符串列表.

问题:

  1. 这样做最简单,最优雅的方法是什么?
  2. 在F#中是否有字符串格式化构造,以便我可以从系统程序集中替换String.Format?

示例输入:[| 0x24uy; 0xA1uy; 0x00uy; 0x1Cuy |]应该产生字符串"24A1001C"

f#

6
推荐指数
2
解决办法
4066
查看次数

使用功能区作为选项卡控件

我想用带状接口创建应用程序,其外观和行为如下:

  • 应用程序有一个主要形式与功能区
  • 功能区有多个选项卡
  • 当用户在功能区上切换选项卡时,功能区下方的面板会更改并显示与功能区面板相关 这样,功能区选项卡就像是整个窗口上的选项卡一样.

例如,功能区有两个选项卡:人员和任务.当前功能区面板为"人"时,下方功能​​区显示带有人数据的网格.功能区包含用于操作人员数据的命令.当用户切换到功能区上的"任务"选项卡时,应用程序应显示带有功能的功能.

问题是在这种情况下可以使用功能区吗?

我阅读了"OFFICE FLUENT™用户界面设计指南",它描述了你能用丝带做什么和不做什么,但我找不到任何关于这一点的信息.

.net wpf user-interface ribbon

6
推荐指数
1
解决办法
6336
查看次数

在表中选择`n`最后插入的记录 - oracle

表具有从序列生成的代理主键.不幸的是,这个序列用于为其他一些表生成密钥(我没有设计它,我也无法改变它).

n在Oracle中选择最后插入记录的最快方法是什么,按ID按降序排列(最后插入到顶部)?

n 是一些相对较小的数字 - 页面上显示的记录数 - 可能不超过50.

表现在有30.000.000条记录,每天有10-15,000条新记录.

数据库是Oracle 10g.

编辑:
回答一条评论:这个问题的动机是查询的执行计划:

  select * from MyTable order by primarykeyfield desc
Run Code Online (Sandbox Code Playgroud)

执行计划是:

--------------------------------------------- 
| Id  | Operation          | Name        |     
---------------------------------------------  
|   0 | SELECT STATEMENT   |             |
|   1 |  SORT ORDER BY     |             |
|   2 |   TABLE ACCESS FULL| MyTable     |
---------------------------------------------  
Run Code Online (Sandbox Code Playgroud)

我很惊讶Oracle希望在排序字段上有索引时执行全表扫描和排序.

来自已接受答案的查询使用索引并避免排序.

编辑2:
Re.APC的评论:排序是让我感到惊讶的一部分.我预计Oracle会使用index来按预期顺序检索行.查询执行计划:

select * from (select * from arh_promjene order by promjena_id desc) x 
   where rownum < 50000000
Run Code Online (Sandbox Code Playgroud)

使用索引而不是全表访问和排序(通知条件rownum < 50.000.000 …

sql oracle oracle10g

6
推荐指数
1
解决办法
2万
查看次数

mysql GROUP_CONCAT

我想列出所有用户的corropsonding用户类.这是我的表的简化版本

CREATE TABLE users (
    user_id INT NOT NULL AUTO_INCREMENT,
    user_class VARCHAR(100),
    PRIMARY KEY (user_id)
);
INSERT INTO users VALUES
    (1, '1'),
    (2, '2'),
    (3, '1,2');
CREATE TABLE classes (
    class_id INT NOT NULL AUTO_INCREMENT,
    class_name VARCHAR(100),
    PRIMARY KEY (class_id)
);
INSERT INTO classes VALUES
    (1, 'Class 1'),
    (2, 'Class 2');
Run Code Online (Sandbox Code Playgroud)

这是我试图使用的查询语句,但只返回第一个匹配的用户类,而不是希望的连接列表.

SELECT user_id, GROUP_CONCAT(DISTINCT class_name SEPARATOR ",") AS class_name
FROM users, classes
WHERE user_class IN (class_id)
GROUP BY user_id;
Run Code Online (Sandbox Code Playgroud)

实际产出

+---------+------------+
| user_id | class_name |
+---------+------------+
|       1 …
Run Code Online (Sandbox Code Playgroud)

mysql database group-concat

6
推荐指数
1
解决办法
5209
查看次数

将VerticalAlignment属性设置为所有控件

我的WPF UserControl包含两个堆栈面板,每个面板包含标签,文本框和单选按钮.
我想使用尽可能少的代码将VerticalAlignment属性设置为Center我的UserControl中的所有控件.

现在我有以下解决方案:

  • 蛮力 - 投入VerticalAlignment="Center"每个控制
  • 定义一种样式FrameworkElement并直接应用它
  • 为用户控件上的每种控件类型定义样式(这需要3个样式定义,但会自动将样式应用于控件)

这三个解决方案需要太多代码.
有没有其他方法可以写这个?
我希望定义样式FrameworkElement会自动将属性设置为所有控件,但它不起作用.

这是我当前XAML的片段(我省略了第二个,非常相似的堆栈面板):

<UserControl.Resources>
    <Style x:Key="BaseStyle" TargetType="FrameworkElement">
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>
</UserControl.Resources>
<Grid>
    <StackPanel Orientation="Horizontal">
        <TextBlock Style="{StaticResource BaseStyle}" Text="Value:" />
        <RadioButton Style="{StaticResource BaseStyle}">Standard</RadioButton>
        <RadioButton Style="{StaticResource BaseStyle}">Other</RadioButton>
        <TextBox Style="{StaticResource BaseStyle}" Width="40"/>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

编辑:
Re Will的评论:我真的很讨厌在代码隐藏中编写控件格式代码的想法.XAML应该足以实现这种非常简单的用户控制.

Re Muad'Dib的评论:我在用户控件中使用的控件来源于FrameworkElement,所以这不是问题.

wpf layout styles

6
推荐指数
1
解决办法
2873
查看次数

适用于Windows中的Windows PC的优秀GIS软件或组件?

上周我搜索了很好的免费或开源解决方案和GIS(地理信息系统)组件我创建了一些系统,但没有人满足我的要求

  • SharpMap是一款非常有缺陷的软件
  • Gmap.net很慢
  • MapWindow具有非常复杂的结构并且非常错误.

我创建了uDIG但是在java中,我需要在vb.net或c#中使用解决方案.

任何人都知道一个满足我的要求或有替代品的好解决方案,我接受解决方案?

c# gis components geography

5
推荐指数
1
解决办法
5028
查看次数

在WPF控件中显示特殊(不可打印)字符

我有从设备收到的原始二进制数据.我想显示像HEX编辑器那样的数据 - 显示十六进制值,但也显示相应的字符.

我发现字体有ASCII码0到32的字符,但我不能让它们显示在屏幕上.

我用WPF listbox,itemscontrol和textbox尝试了这个.

是否有一些设置可以使这项工作?
或者也许一些WPF控件会显示这个字符?

编辑:
经过一些思考和测试后,只有出现问题的字符是换行符,换页符,回车符,退格键,水平和垂直选项卡.作为快速解决方案,我决定用ASCII 16(10HEX)字符替换这些字符.我用ASCII,UTF-8和Unicode文件测试了它,它适用于这三种格式.

这是我正在使用的正则表达式:

rawLine = Regex.Replace(inputLine, "[\t\n\r\f\b\v]", '\x0010'.ToString());
Run Code Online (Sandbox Code Playgroud)

它用一些四四方位的符号替换了这6个有问题的字符的所有出现.它表明这不是"常规可打印"字符,它适用于我.

c# wpf special-characters

5
推荐指数
1
解决办法
2363
查看次数

寻找好的地理空间图书馆

什么是地理空间功能的好库?我的意思是

  • 地球上两点之间的距离
  • 来自特定点的给定半径的圆的坐标
  • 等等

如果有不同数据库代表地理位置的各种方式的接口,则可以获得奖励.

我是一个geo-noob(如果这个问题没有明显的话),所以欢迎指向其他地理位置/地理空间资源的指针.

C++和Python首选,但欢迎所有指针.

gis geospatial

4
推荐指数
1
解决办法
3855
查看次数