小编537*_*mfb的帖子

在C#中保持案例完整的同时替换文本

我有一组我需要用来替换的句子,例如:

abc => cde
ab df => de
...
Run Code Online (Sandbox Code Playgroud)

我有一个文本在哪里进行更改.但是我无法预先知道所述文本的情况.所以,例如,如果我有:

A bgt abc hyi. Abc Ab df h
Run Code Online (Sandbox Code Playgroud)

我必须更换并获得:

A bgt cde nyi. Cde De h
Run Code Online (Sandbox Code Playgroud)

或尽可能接近,即保持情况

编辑:因为我看到很多混乱,我会尝试澄清一点:

我问的是一种在更换之后保留帽子的方法,我不认为它通过了很好(没有很好地解释什么是thaat)所以我将使用真实的单词给出一个更现实的例子.

把它想象成一个gossary,用它们的正义代替表达式,所以如果我映射:

didn't achieve success => failled miserably
Run Code Online (Sandbox Code Playgroud)

然后我得到了作为输入的句子:

As he didn't achieve success, he was fired
Run Code Online (Sandbox Code Playgroud)

我会的

As he failled miserably, he was fired
Run Code Online (Sandbox Code Playgroud)

但是如果没有资本化,那么如果实现或成功资本化,那么就会失败,如果有任何超过1个字母的资本化,那么这将是悲惨的

我的主要可能性是(我真正想要考虑的是)

  • 只有第一个单词的首字母大写
  • 只有每个单词的第一个字母大写
  • 所有字母都大写

如果我可以处理那些已经可以接受的三个 - 我认为这是更容易的 - 当然如果可以获得更深入的解决方案会更好

有任何想法吗?

c# string replace case

9
推荐指数
1
解决办法
2691
查看次数

防止C#中的列表更改

我有一个对象的链接列表(可以更改为任何其他集合类型,只要它保持输入顺序)在程序集A(DLL)中.

当程序集B从包含所述LinkedList的类创建一个对象时,它会分配一个方法来报告一些信息.该方法采用的一个参数是LinkedList.

现在我希望程序集B中的这个方法能够从LinkedList读取(遍历它并根据它的内容做事),但是我需要阻止该方法更改List中的数据.

虽然我现在正在使用Assembly A,但是当它公开时,我需要防止数据从我的程序集外部更改,以便使用该库的第三方不会对程序集内的结果产生影响.

基本上,我希望"密封"将LinkedList从程序集A带到程序集B的参数

我有意义吗?

.net c# linked-list readonly

4
推荐指数
2
解决办法
3682
查看次数

设置 PasswordBox 的初始值

我想知道 PasswordBox 控件涉及的所有安全性是否完全可能:

我有一个 XAML 表单(C#/WPF),用户将在其中配置数据库访问。在这种形式中,我使用 PasswordBox 来获取 SQL Server 用户密码。

由于这些数据被保存到磁盘以备将来使用(在受密码保护的 SQL Server CE 数据库文件中),而在第一次运行时没有设置密码,如果用户回来并出于某种原因需要编辑 SQL 连接,那么可能是先前配置中保留的密码(除非他使用 Windows 身份验证而不是 SQL 用户身份验证)

所以我想在第一次运行时显示一个空的 PasswordBox 但如果已经设置了密码,当用户返回时,我想显示 X 个“*”(以表明存在密码。

由于 PasswordBox.Password 不可绑定,我只能选择始终将其显示为空或始终显示固定数量的“*”(通过设置实际上并不代表真实密码的默认密码)。

有没有其他选择(除了像 PasswordBox Helper 这样当然注入绑定的东西 - 我宁愿不走那条路,因为可能有一个我没有考虑过让 MS 选择不让它绑定到 SecureString 的原因) ?

c# wpf wpf-controls passwordbox

3
推荐指数
1
解决办法
7135
查看次数

标签 统计

c# ×3

.net ×1

case ×1

linked-list ×1

passwordbox ×1

readonly ×1

replace ×1

string ×1

wpf ×1

wpf-controls ×1